#include #include #include #define FOR(i,s,e) for(int i = (s);i <= (e);i++) using namespace std; int N; int M; struct edge { int to; int cost; }; vector V[110]; int dp[110]; int main() { cin >> N; cin >> M; int p,q,r; FOR(i,0,M-1) { cin >> p >> q >> r; V[r].push_back({p,q}); } queue que; que.push(N); dp[N] = 1; while(!que.empty()) { int x = que.front(); que.pop(); int siz = static_cast(V[x].size()); FOR(i,0,siz - 1) { const edge& e = V[x][i]; dp[e.to] += dp[x] * e.cost; que.push(e.to); } if(siz != 0) dp[x] = 0; } FOR(i,1,N -1) { cout << dp[i] << endl; } return 0; }