#include
#include
#include
#include
#include
using namespace std;
int m; int n;
bool visited[300005];
stacks;
vectorgraph[300005];
vectorrev_graph[300005];
void dfs(int node){
visited[node]=true;
for(int i=0; i> n >> m;
for(int i=0; i>a>>b;
a--;
b--;
graph[b].push_back(a);
rev_graph[a].push_back(b);
}
memset(visited, false, sizeof visited);
for(int i=0; i