#include<stdio.h>
#include<stdlib.h>
#define N 50001
int n,m,i,d[N],t,p,u,w[N],*s[N],*v[N],a[5*N],b[5*N],e[5*N],q[23*N];
int main()
{
freopen("dijkstra.in","r",stdin),freopen("dijkstra.out","w",stdout),scanf("%d%d",&n,&m);
for(i=0;i<m;++i)
scanf("%d%d%d",a+i,b+i,e+i),++w[a[i]];
for(i=1;i<=n;w[i++]=0)
d[i]=N,s[i]=(int*)malloc(4*w[i]),
v[i]=(int*)malloc(4*w[i]);
for(i=0;i<m;i++)
s[a[i]][w[a[i]]]=b[i],v[a[i]][w[a[i]]++]=e[i];
for(d[1]=0,q[u++]=1;p<u;)
for(t=q[p++],i=0;i<w[t];i++)
if(d[s[t][i]]>d[t]+v[t][i])
d[s[t][i]]=d[t]+v[t][i],q[u++]=s[t][i];
for(i=2;i<=n;i++)
printf("%d ",d[i]%N);
return 0;
}