#include using namespace std; typedef long long ll; typedef long double ld; #define rep(i,n) for (int i = 0; i < (n); ++i) templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> n >> m; vector a(n); vector>> e(n); vector c(n); rep(i,m){ int p,q,r;cin >> p >> q >> r; p--,r--; e[r].push_back({p,q}); c[p]++; } a[n-1]=1; queue que; que.push(n-1); while(!que.empty()){ int u=que.front(); que.pop(); for(auto x:e[u]){ c[x.first]--; a[x.first]+=a[u]*x.second; if(c[x.first]==0){ que.push(x.first); } } } rep(i,n-1){ if(!e[i].size()){ cout << a[i] << endl; } else{ cout << 0 << endl; } } }