#include #include #include #include #include using namespace std; int N,M; int U[3<<17],V[3<<17]; bool del[3<<17]; vectorG[3<<17]; int ID[3<<17]; bool vis[3<<17]; void solve() { bool ch=false; { atcoder::scc_graph scc(N); for(int i=0;i >SCC=scc.scc(); for(int i=0;i=2) { int u=SCC[i][0]; while(!vis[u]) { vis[u]=true; assert(!G[u].empty()); u=V[G[u][0]]; } ch=true; int w=u; do{ del[G[w][0]]=true; w=V[G[w][0]]; }while(w!=u); } } if(ch)solve(); } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>N>>M; for(int i=0;i>U[i]>>V[i]; U[i]--,V[i]--; } solve(); vector >ans; for(int i=0;ie:ans)cout<