#include #include #include #include #include #include #include #include #include #include #include using namespace std; class UnionFindTree{ struct base_node{ int parent; int rank; int size; }; vector node; public: UnionFindTree(int n){ node.resize(n); for(int i=0; i node[y].rank){ node[y].parent = x; node[x].size += node[y].size; }else{ node[x].rank++; unite(x,y); } } }; int main(){ int T; scanf("%d", &T); while(T--){ int n; cin >> n; vector > G(n); vector u(n+1),v(n+1); for(int i=0; i> u[i] >> v[i]; u[i]--; v[i]--; G[u[i]].push_back(v[i]); G[v[i]].push_back(u[i]); } int ans = 0; for(int i=0; i