n=int(input()) m=int(input()) g=[[] for _ in range(n)] to=[[] for _ in range(n)] deg=[0]*n for i in range(m): p, q, r=map(int, input().split()) p-=1 r-=1 g[r].append(p) to[r].append(q) deg[p]+=1 stack=[x for x in range(n) if deg[x]==0] topsort=[] while stack: x=stack.pop() topsort.append(x) for y in g[x]: deg[y]-=1 if deg[y]==0: stack.append(y) dp=[0]*n dp[n-1]=1 for x in topsort: for y, q in zip(g[x], to[x]): dp[y]+=dp[x]*q for x in range(n-1): if g[x]: print(0) else: print(dp[x])