# include # include # define N 20005 # define M 50005 # include using namespace std; struct node{ int from,to,next; }edge[M]; int tol,head[N],dfn[N],low[N],flag,count,cnt,n; bool visit[N],vis[N]; stackS; void add(int a,int b) { edge[tol].from=a;edge[tol].to=b;edge[tol].next=head[a];head[a]=tol++; } int min(int a,int b) { return a