//
// 九度:1445
// 并查集基本题,统计多少集合
#include <stdio.h>
#define SIZE 1005
int fa[SIZE];
int Getfa(int x)
{
if(x == fa[x])
return x;
else
fa[x] = Getfa(fa[x]);
return fa[x];
}
void Init(int num)
{
for(int i=1; i<=num; i++)
{
fa[i]=i;
}
}
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("E:\\in.txt", "r", stdin);
//freopen("E:\\out.txt", "w", stdout);
#endif
int t;
scanf("%d", &t);
while(t-->0)
{
int n, m;
scanf("%d%d", &n ,&m);
Init(n);
int x, y;
while(m-->0)
{
scanf("%d%d", &x, &y);
int a=Getfa(x);
int b=Getfa(y);
if(a!=b)
{
fa[a]=b;
}
}
int ans=0;
for(int i=1; i<=n; i++)
{
if(fa[i]==i)
{
ans++;
}
}
printf("%d\n", ans);
if(t>0)
{
getchar();
}
}
return 0;
}