from sys import setrecursionlimit setrecursionlimit(10**6) def dfs(pos): if cnt[pos] != -1: return cnt[pos] ret = 0 for nxt,Q in G[pos]: ret += dfs(nxt) * Q cnt[pos] = ret return ret N = int(input()) M = int(input()) G = [[] for _ in range(N)] Rev = [True] * N for _ in range(M): P,Q,R = map(int,input().split()) P -= 1 R -= 1 G[P].append((R, Q)) Rev[R] = False cnt = [-1] * N cnt[N-1] = 1 for i in range(N-1): if Rev[i]: dfs(i) for i in range(N-1): if not Rev[i]: cnt[i] = 0 print(cnt[i])