#include #include using namespace std; typedef long long ll; struct Edge{ int to, cost; }; int n, m, p, q, r, indeg[100] = {}; vector v[100]; ll dfs(int p, ll accum){ if(p == n-1) return accum; ll ret = 0; for(int i = 0; i < v[p].size(); i++){ ret += dfs(v[p][i].to, accum*v[p][i].cost); } return ret; } int main(){ cin >> n >> m; for(int i = 0; i < m; i++){ cin >> p >> r >> q; p--, q--; indeg[q]++; v[p].push_back(Edge({q,r})); } for(int i = 0; i < n-1; i++){ if(indeg[i]) cout << 0 << endl; else cout << dfs(i, 1) << endl; } return 0; }