#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define BET(a,b,c) ((a)<=(b)&&(b)<(c)) #define FOR(i,n) for(int i=0,i##_end=(int(n));i VI; typedef vector VVI; struct edge{ int from, to, need; }; int main() { int N,M; cin>>N>>M; vector > adj(N); VI indeg(N); FOR(i,M){ int P,Q,R; cin>>P>>Q>>R; P--; R--; adj[R].push_back((edge) { R, P, Q }); indeg[P]++; } vector dp(N); dp[N - 1] = 1; FOR(_,N){ int next = -1; FOR(i,N) if(indeg[i] == 0){ next = i; break; } //cout<