/* 并查集模板
1.初始化
2.join函数
3._find函数
4.在find函数中缩短路径
5.计数根节点
*/
#include<iostream>
#include<cstdio>using namespace std;
int pre[1005];
int _find(int x)
{
int r=x;
while(r!=pre[r])
r=pre[r];
int a=x,b;
while(a!=pre[a])
{
b=pre[a];
pre[a]=r;
a=b;
}
return r;
}
void join(int x, int y)
{
int rx,ry;
rx=_find(x);
ry=_find(y);
if(rx!=ry)
pre[rx]=ry;
}
int main()
{
int n,m,t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(int i=1; i<=n; i++)
pre[i]=i;
int a,b;
for(int i=0; i<m; i++)
{
scanf("%d%d",&a,&b);
join(a,b);
}
int k;
k=0;
for(int i=1; i<=n; i++)
if(pre[i]==i) k++;
cout<<k<<endl;
}
return 0;
}