include[HTML_REMOVED]
include[HTML_REMOVED]
using namespace std;
const int N=30010;
int p[N];
int find(int x){
if(x!=p[x]) p[x]=find(p[x]);
return p[x];
}
void merge(int a,int b){
p[find(a)]=find(b);
}
int main(){
int t;cin>>t;
while(t–){
int n,m;cin>>n>>m;int cnt=0;
map[HTML_REMOVED] mp;
for(int i=1;i<=n;i) p[i]=i;
for(int i=0;i[HTML_REMOVED]>x>>y;
merge(x,y);
}
for(int i=1;i<=n;i)
mp[find(i)]=1;
for(auto i:mp){
cnt++;
}
cout<<cnt<<endl;
}
return 0;
}