import sys sys.setrecursionlimit(10 ** 6) from collections import * def II(): return int(sys.stdin.readline()) def MI(): return map(int, sys.stdin.readline().split()) def main(): def dfs(i, c=1): if not to[i]: ans[i] += c return for j, q in to[i]: dfs(j, c * q) return n = II() m = II() to = defaultdict(list) for _ in range(m): p, q, r = MI() to[r - 1].append([p - 1, q]) ans = [0] * n dfs(n - 1) print(*ans[:-1], sep="\n") main()