from numpy import* from scipy.sparse import* from sys import stdin def solve(): n,m=map(int,stdin.readline().split()) e=[[]]*(m*6) p=0 for i in range(m): a,b,c=map(int,stdin.readline().split()) a-=1;b-=1 e[p]=[a,b,c] e[p+1]=[a,b+n,0] e[p+2]=[a+n,b+n,c] e[p+3]=[b,a,c] e[p+4]=[b,a+n,0] e[p+5]=[b+n,a+n,c] p+=6 edge=array(e,int64).T graph=csr_matrix((edge[2],edge[:2]),(n+n,n+n)) dist=csgraph.dijkstra(graph,True,0) for i in range(n): print(int(dist[i]+min(dist[i],dist[i+n]))) solve()