#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int N, M; vector< pair > recipe[110]; bool done[110]; vector dp[110]; vector solve(int k){ if(done[k])return dp[k]; vector res(N+1, 0); if(recipe[k].empty()){ res[k] = 1; } else { for(int i=0;i ps = recipe[k][i]; vector tmp = solve(ps.first); for(int i=0;i> N >> M; for(int i=0;i> P >> Q >> R; recipe[R].push_back(make_pair(P, Q)); } vector res = solve(N); for(int i=1;i