#include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair pii; typedef tuple tiii; typedef vector vi; #define REP(i,x) for(int i=0;i<(int)(x);i++) #define ALL(container) (container).begin(), (container).end() pii shifts[] = {{1,0},{0,1},{-1,0},{0,-1}}; bool fs[501][501]; vector t[101]; ll external[101]; ll buy[101]; void solve(int index, ll count) { if(t[index].size() == 0) { buy[index] += count; return; } for(const auto& r : t[index]) { solve(r.first, r.second * count); } } int main(int argc, char *argv[]){ ios::sync_with_stdio(false); int n,m; cin >> n >> m; REP(i, m) { ll p, q, r; cin >> p >> q >> r; t[r].emplace_back(p,q); } fill(external, external+101, -1); fill(buy, buy+101, 0); solve(n, 1); for(int i = 1;i < n;i++) { cout << buy[i] << endl; } return 0; }