#include<stdio.h>

int ans;
char f[101][101];
bool b[101][101];
int wi,he;

void saiki(int w,int h,char c){
	if(b[h][w])return;
	if(c!=f[h][w]){
		c=f[h][w];
		ans++;
	}
	b[h][w]=true;
	if(w==wi-1 && h==he-1)return;
//	if(w!=0)if(c==f[h][w-1])saiki(w-1,h,c);
//	if(h!=0)if(c==f[h-1][w])saiki(w,h-1,c);
//	if(w!=wi-1)if(c==f[h][w+1])saiki(w+1,h,c);
//	if(h!=he-1)if(c==f[h+1][w])saiki(w,h+1,c);
}

int main(void){
	int i,j;
	for(;;){
		scanf("%d%d",&wi,&he);
		if(wi==0 || he==0)break;
		
		for(i=0;i<101;i++){
			for(j=0;j<101;j++){
				b[i][j]=false;
			}
		}
		ans=0;
		
		for(i=0;i<he;i++){
			scanf("%s",&f[i]);
		}
		
		for(i=0;i<he;i++)for(j=0;j<wi;j++)saiki(i,j,0);
		printf("%d\n",ans);
	}
	return 0;
}