#include #include #include #include using namespace std; int n, m; int a[200020], b[200020], k[200020]; int c[200020], d[400040]; int a1[200020], b1[200020]; vector g[400040]; bool root[400040]; int l[400040], r[400040], rev[400040]; int pr[400040]; int s[400040]; int main() { scanf("%d %d", &n, &m); for(int i=0; ivoid{ l[x]=cnt++; rev[l[x]]=x; for(int i=(int)g[x].size()-1; i>=0; i--){ dfs(dfs, g[x][i]); } r[x]=cnt; }; for(int i=0; i