#include<bits/stdc++.h>
#define ll long long
#define pil pair<int,ll>
usingnamespacestd;lldist[501];vector<pil>graph[501];//음의 사이클이 발생하면 false 리턴. n:정점 개수.boolbellman_ford(intn){fill(dist+1,dist+1+n,1e18);dist[1]=0;intloop=n-1;while(loop--)for(ints=1;s<=n;s++)for(pilgo:graph[s])if(dist[s]!=1e18)dist[go.first]=min(dist[go.first],dist[s]+go.second);//한번더 돌아서 값이 갱신되면, 음의 사이클이 존재하는 것.for(ints=1;s<=n;s++)for(pilgo:graph[s])if(dist[go.first]>dist[s]+go.second&&dist[go.first]!=1e18)returnfalse;for(inti=2;i<=n;i++)printf("%lld\n",dist[i]==1e18?-1ll:dist[i]);returntrue;}intmain(){intn,m;scanf("%d %d",&n,&m);while(m--){inta,b;llc;scanf("%d %d %lld",&a,&b,&c);graph[a].push_back({b,c});}boolok=bellman_ford(n);if(!ok)printf("-1");return0;}