#include<iostream> #include<set> using namespace std; const int MAXN=1003; int u[MAXN]; int find(int p) { if(p==u[p]) { return u[p]; }else { return u[p]=find(u[p]); } } void connect(int a,int b) { int f1=find(a); int f2=find(b); if(f1<f2) { u[f2]=f1; }else { u[f1]=f2; } } void init() { int i=0; for(i=0;i<=MAXN-1;i++) { u[i]=i; } } int main() { int T; cin>>T; while(T--) { set<int>s; int n,m; int i; init(); cin>>n>>m; while(m--) { int n1,n2; cin>>n1>>n2; connect(n1,n2); } for(i=n;i>=1;i--) { s.insert(find(i)); } cout<<s.size()<<endl; } return 0; }