include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
using namespace std;
map[HTML_REMOVED]mp;
define h 2000+10
int a[h];
int Find(int x)
{
if (a[x] != x)a[x] = Find(a[x]);
return a[x];
}
void Union(int A, int B)
{
a[Find(A)] = Find(B);
}
int main()
{
int T, n, I, A, B;
cin >> T;
while (T–)
{
int count = 0;
memset(a, 0, sizeof(a));
mp.clear();
cin >> n >> I;
for (int i = 1; i <= n; i)a[i] = i;
for (int i = 1; i <= I; i)
{
cin >> A >> B;
Union(A, B);
}
for (int i = 1; i <= n; i) { mp[Find(i)] = 1; }
for (auto i = mp.begin(); i != mp.end(); i)count += i->second;
cout << count << endl;
}
}