from collections import defaultdict, deque n = int(input()) m = int(input()) G = defaultdict(list) INcnt = [0 for _ in range(n)] for _ in range(m): p, q, r = map(int, input().split()) G[r - 1].append((p - 1, q)) INcnt[p - 1] += 1 ANS = [0 for _ in range(n - 1)] C = [[0 for _ in range(n)] for _ in range(n)] Que = deque() for i in range(n): if INcnt[i] == 0: C[i][i] = 1 Que.append((i, i)) while Que: cp, f = Que.popleft() cnt = C[f][cp] if len(G[cp]) == 0 and f == n - 1: ANS[cp] = cnt continue for np, q in G[cp]: C[f][np] += cnt * q INcnt[np] -= 1 if INcnt[np] == 0: for i in range(n): if C[i][np] > 0: Que.append((np, i)) print(*ANS, sep='\n')