#include using namespace std; typedef long long ll; int N,M,P,Q,R; int matrix[111][111]; bool flag[111]; ll dp[111][111]; // 製品iを1個作るために必要な製品jの個数を返す ll dfs(int i, int j){ ll res = 0; if(dp[i][j] >= 0) return dp[i][j]; if(i == j) return (flag[i]) ? 0 : 1; for(int k = 0; k < N; k++){ if(matrix[i][k]) res += dfs(k, j) * matrix[i][k]; } return dp[i][j] = res; } int main(){ cin >> N >> M; for(int i = 0; i < M; i++){ cin >> P >> Q >> R; matrix[R-1][P-1] = Q; flag[R-1] = true; } memset(dp, -1, sizeof(dp)); for(int i = 0; i < N-1; i++){ cout << dfs(N-1, i) << endl; } }