#include<stdio.h>#include<string.h>const int N=50005;int prev[N],v[N];int find(int x){int r=x,i=x,t;while(prev[r]!=r)r=prev[r];while(i!=r){t=prev[i];prev[i]=r;i=t;}return r;}void mix(int x,int y){int fx=find(x),fy=find(y);if(fx!=fy)prev[fy]=fx;}int main(){int n,m,i,x,y,c,t=1;while(~scanf("%d%d",&n,&m)&&(n||m)){memset(prev,0,sizeof(prev));memset(v,0,sizeof(v));c=0;for(i=1;i<=n;i++)prev[i]=i;while(m--){scanf("%d%d",&x,&y);mix(x,y);}for(i=1;i<=n;i++){if(v[find(i)]==0){v[find(i)]=1;c++;}}printf("Case %d: %dn",t++,c);}return 0;}


