from collections import deque n = int(input()) m = int(input()) g = [[] for _ in range(n)] deg = [0 for _ in range(n)] for _ in range(m): p, q, r = map(int, input().split()) p -= 1 r -= 1 g[r].append((p, q)) deg[p] += 1 src = n - 1 ans = [0 for _ in range(n)] ans[src] = 1 used = [False for _ in range(n)] used[src] = True dq = deque() dq.append(src) while len(dq) > 0: cur = dq.popleft() for nxt, cost in g[cur]: if used[nxt]: continue ans[nxt] += ans[cur] * cost deg[nxt] -= 1 if deg[nxt] == 0: used[nxt] = True dq.append(nxt) if len(g[cur]) > 0: ans[cur] = 0 ans.pop() print(*ans, sep="\n")