#include<iostream>
#include<string>
#include<vector>

void field(int x,int y,std::vector<std::string> &vec,int a,int b){
	if(vec[x][y]=='.')return;
	char c=vec[x][y];
	vec[x][y]='.';
	int sx=x-1,sy=y-1,tx=x+1,ty=y+1;
	if(sx>=0&&vec[sx][y]==c)field(sx,y,vec,a,b);
	if(tx<a&&vec[tx][y]==c)field(tx,y,vec,a,b);
	if(sy>=0&&vec[x][sy]==c)field(x,sy,vec,a,b);
	if(tx<b&&vec[x][ty]==c)field(x,ty,vec,a,b);
}

int main(){
	while(1){
		int a,b;
		std::cin>>a>>b;
		if(a==0&&b==0)break;
		std::vector<std::string> vec(a);
		for(int i=0;i<a;i++){
			std::cin>>vec[i];
		}
		int n=0;
		for(int i=0;i<a;i++){
			for(int j=0;j<b;j++){
				if(vec[i][j]!='.'){
					field(i,j,vec,a,b);
					n++;
				}
			}
		}
		std::cout<<n-1<<std::endl;
		/*for(int i=0;i<a;i++){
			std::cout<<vec[i]<<std::endl;
		}*/
	}
	return 0;
}