#include<iostream>
using namespace std;
const long long maxn=50000+5;
long long int s[maxn];
void init(){
for(int i=1;i<=maxn;i++){
s[i]=i;
}
}
int find(int x){
return x==s[x]?x:find(s[x]);
}
void union_1(int x,int y){
x=find(x);
y=find(y);
if(x!=y)s[x]=s[y];
return;
}
int main(){
int m,n,x,y;
int cnt=0;
while(cin>>n>>m,n,m){
init();
for(int i=1;i<=m;i++)
{
cin>>x>>y;
union_1(x,y);
}
int count=0;
for(int i=1;i<=n;i++){
if(s[i]==i)count++;
}
cout<<"Case "<<++cnt<<": "<<count<<endl;
}
}
c++runtime error;
g++能过