#include #include #include #include #include using namespace std; const int maxn=55555; int dfn[maxn], low[maxn], stack[maxn], belong[maxn], visit[maxn], match[maxn]; bool instack[maxn]; int top, scnt, Index, n, m, T; vectorvt[maxn]; struct Node { int u, v; }f[2*maxn]; void Init_tarjan() { top=scnt=Index=0; for(int i=1; i<=n; i++) dfn[i]=low[i]=instack[i]=0; } void tarjan(int u) { stack[++top]=u; dfn[u]=low[u]=++Index; instack[u]=1; for(int i=0; i> T; while(T--) { cin >> n >> m; for(int i=0; i<=n; i++) vt[i].clear(); for(int i=0; i