from collections import * from itertools import * from functools import * from heapq import * import sys,math input = sys.stdin.readline N = int(input()) M = int(input()) e = [[] for _ in range(N)] for _ in range(M): p,q,r = map(int,input().split()) p -= 1 r -= 1 e[r].append((p,q)) mem = defaultdict(lambda:INF) X = [] for i in range(N): if len(e[i])==0: X.append(i) X = set(X) mem = defaultdict(lambda:-1) for x in X: I = [0]*N I[x]=1 mem[x] = tuple(I) def f(x): if mem[x]!=-1: return mem[x] I = [0]*N for q,r in e[x]: y = f(q) for j in range(N): I[j] += r*y[j] mem[x] = tuple(I) return mem[x] ans = f(N-1) print(*ans[:-1],sep='\n')