N=int(raw_input()) outdeg= [0 for i in range(N+1)] edges=[[] for i in range(N+1)] cnt = [0 for i in range(N+1)] M=int(raw_input()) for i in range(M): P,Q,R = map(int,raw_input().split()) edges[R].append((P,Q)) outdeg[P]+=1 cnt[N]=1 l=[N] while len(l)!=0: cur = l.pop() if len(edges[cur])!=0 : for p,q in edges[cur]: outdeg[p]-=1 cnt[p]+=cnt[cur]*q if outdeg[p]==0 : l.append(p) cnt[cur]=0 for i in range(1,N): print cnt[i]