#!/usr/bin/env python3 # %% import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines from scipy.sparse.csgraph import dijkstra from scipy.sparse import csr_matrix import numpy as np # %% N, M = map(int, readline().split()) ABC = np.array(read().split(), np.int64) A = ABC[::3] B = ABC[1::3] C = ABC[2::3] # %% fr = np.concatenate([A, A, A + N, B, B, B + N]) to = np.concatenate([B, B + N, B + N, A, A + N, A + N]) cost = np.concatenate([C, np.zeros(M, np.int64), C] * 2) G = csr_matrix((cost, (fr, to)), (N + N + 1, N + N + 1)) # %% dist = dijkstra(G, directed=True, indices=1).astype(int) x = dist[1: 1 + N] + dist[1 + N:] x[0] = 0 print('\n'.join(x.astype(str)))