def main(): import heapq import sys input = sys.stdin.readline N,M = list(map(int,input().split())) edge = [[] for _ in range(N)] for _ in range(M): a,b,c = list(map(int,input().split())) a -= 1;b -= 1 edge[a].append((b,c)) edge[b].append((a,c)) INF = 10**18 visited = [[INF,INF] for _ in range(N)] q = [(0,0,0), (0,1,0)] while(q): v,use,now = heapq.heappop(q) if(visited[now][use] <= v):continue visited[now][use] = v if(not use): # チケット使用 for a,c in edge[now]: heapq.heappush(q,(v,1,a)) # チケット保持 for a,c in edge[now]: heapq.heappush(q,(v+c,use,a)) for i in visited: print(sum(i)) main()