#include<bits/stdc++.h>
#define ll long long
#define l long
#define mk make_pair
#define pb push_back
#define in insert
#define se second
#define fi first
#define mod 1000000007
#define watch(x) cout << (#x) << " is " << (x) << "\n"
#define fast ios_base::sync_with_stdio(false); cin.tie(NULL);
#define pii pair<int,int>
using namespace std;
int a[100005],siz[100005];
int root(int i)
{
while(i!=a[i])
{
i = a[i];
}
return i;
}
void uni(int x,int y)
{
if(siz[x]<siz[y])
{
siz[y] += siz[x];
a[x] = a[y];
}
else
{
siz[x] += siz[y];
a[y] = a[x];
}
}
int main()
{
fast;
int t;
cin>>t;
int nu=1;
while(t--)
{
int n,m,i,ans=0;
cin>>n>>m;
bool vi[100005] = {false};
for(i=1;i<=n;i++)
{
a[i] = i;
siz[i] = 1;
}
for(i=0;i<m;i++)
{
int x,y;
cin>>x>>y;
vi[x] = true;
vi[y] = true;
int na = root(x);
int ma = root(y);
if(na!=ma)
{
uni(na,ma);
ans++;
}
}
int cn=0,cc=0;
for(i=1;i<=n;i++)
{
if(!vi[i]) cn++;
}
for(i=1;i<=n;i++)
{
if(i==a[i] && siz[i]>1) cc++;
}
ans += 2*(cn-1);
ans += 2*cc;
cout<<"Case"<<" "<<"#"<<nu<<":"<<" "<<ans<<"\n";
nu++;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBsIGxvbmcKI2RlZmluZSBtayBtYWtlX3BhaXIKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBpbiBpbnNlcnQKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIG1vZCAxMDAwMDAwMDA3CiNkZWZpbmUgd2F0Y2goeCkgY291dCA8PCAoI3gpIDw8ICIgaXMgIiA8PCAoeCkgPDwgIlxuIgojZGVmaW5lIGZhc3QgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoTlVMTCk7CiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGFbMTAwMDA1XSxzaXpbMTAwMDA1XTsKaW50IHJvb3QoaW50IGkpCnsKCXdoaWxlKGkhPWFbaV0pCgl7CgkJaSA9IGFbaV07Cgl9CglyZXR1cm4gaTsKfQp2b2lkIHVuaShpbnQgeCxpbnQgeSkKewoJaWYoc2l6W3hdPHNpelt5XSkKCXsKCQlzaXpbeV0gKz0gc2l6W3hdOwoJCWFbeF0gPSBhW3ldOwoJfQoJZWxzZQoJewoJCXNpelt4XSArPSBzaXpbeV07CgkJYVt5XSA9IGFbeF07Cgl9Cn0KaW50IG1haW4oKQp7CiAgICBmYXN0OwogICAgaW50IHQ7CiAgICBjaW4+PnQ7CiAgICBpbnQgbnU9MTsKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgIAlpbnQgbixtLGksYW5zPTA7CiAgICAJY2luPj5uPj5tOwogICAgCWJvb2wgdmlbMTAwMDA1XSA9IHtmYWxzZX07CiAgICAJZm9yKGk9MTtpPD1uO2krKykKICAgIAl7CiAgICAJCWFbaV0gPSBpOwogICAgCQlzaXpbaV0gPSAxOwogICAgCX0KICAgIAlmb3IoaT0wO2k8bTtpKyspCiAgICAJewogICAgCQlpbnQgeCx5OwogICAgCQljaW4+Png+Pnk7CiAgICAJCXZpW3hdID0gdHJ1ZTsKICAgIAkJdmlbeV0gPSB0cnVlOwogICAgCQlpbnQgbmEgPSByb290KHgpOwogICAgCQlpbnQgbWEgPSByb290KHkpOwogICAgCQlpZihuYSE9bWEpCiAgICAJCXsKICAgIAkJCXVuaShuYSxtYSk7CiAgICAJCSAgICBhbnMrKzsKICAgIAkJfQogICAgCX0KICAgIAlpbnQgY249MCxjYz0wOwogICAgCWZvcihpPTE7aTw9bjtpKyspCiAgICAJewogICAgCQlpZighdmlbaV0pIGNuKys7CiAgICAJfQogICAgCWZvcihpPTE7aTw9bjtpKyspCiAgICAJewogICAgCQlpZihpPT1hW2ldICYmIHNpeltpXT4xKSBjYysrOwogICAgCX0KICAgIAlhbnMgKz0gMiooY24tMSk7CiAgICAJYW5zICs9IDIqY2M7CiAgICAJY291dDw8IkNhc2UiPDwiICI8PCIjIjw8bnU8PCI6Ijw8IiAiPDxhbnM8PCJcbiI7CiAgICAJbnUrKzsKICAgIH0KfQ==