#include #include #include struct Qi{uint32_t Q;uint32_t i;}; std::vector> in; int N,M; std::vector S,cntout,seen; void childs(int i){ for(auto e:in[i]){cntout[e.i]++;if(!seen[e.i]){seen[e.i]=1;childs(e.i);}} } void calc(int i){ for(auto e:in[i]){S[e.i]+=S[i]*e.Q;if(--cntout[e.i]==0)calc(e.i);} if(!in[i].empty())S[i]=0; } int main(){ std::cin>>N>>M; in.resize(N); S.resize(N); seen.resize(N); cntout.resize(N); for (int i = 0; i < M; i++) { uint32_t P,Q,R;std::cin>>P>>Q>>R; in[R-1].push_back({Q,P-1}); } childs(N-1); S[N-1]=1; calc(N-1); for(auto s:S)std::cout<