#include #include #include #include #include #include using namespace std; int H,W; char Map[220][440]; int vis[220][440]; int chr[220][440]; int wblc_cnt,bblc_cnt; char hie[6]={'W','A','K','J','S','D'}; int dx[4]={0,0,1,-1}; int dy[4]={1,-1,0,0}; map Hsh[80010]; int bccnt[80010]; char ans[80010]; int comp(const void *_a,const void *_b) { char a=*(char *)_a; char b=*(char *)_b; return a-b; } void dfs1(int x,int y) { vis[x][y]=wblc_cnt; int nx,ny; for(int i=0;i<4;i++){ nx=dx[i]+x; ny=dy[i]+y; if(nx>=0&&nx=0&&ny=0&&nx=0&&ny(vis[nx][ny],true)); }else dfs2(nx,ny); } } } int main() { char str[60]; int kase=1; while(~scanf("%d%d",&H,&W)&&(H+W)){ printf("Case %d: ",kase++); getchar(); memset(Map,0,sizeof(Map)); memset(vis,0,sizeof(vis)); memset(chr,0,sizeof(chr)); for(int i=0;i<=4*W+8;i++)Map[0][i]=Map[H+1][i]='0'; for(int i=1;i<=H;i++){ gets(str); for(int j=0;j<4;j++) Map[i][j]=Map[i][4+W*4+j]='0'; for(int j=0;j