#include<iostream>
using namespace std;

char HW[101][101];

void DFS(int Y,int X,char c)
{
	if(HW[Y][X]=='.'||HW[Y][X]!=c)
		return;

	HW[Y][X]='.';
	
	DFS(Y-1,X,c);
	DFS(Y,X+1,c);
	DFS(Y+1,X,c);
	DFS(Y,X-1,c);
}	
	
int main()
{
	int H,W;
	int count=0;

	while(1){
		cin>>H>>W;

		if(H==0&&W==0)
			break;

		for(int y=1;y<=H;y++)
			for(int x=1;x<=W;x++)
				cin>>HW[y][x];
	
		for(int y=1;y<=H;y++){
			for(int x=1;x<=W;x++){
				if((HW[y][x]=='@')||(HW[y][x]=='#')||(HW[y][x]=='*')){
					count++;
					DFS(y,x,HW[y][x]);
					}
			}
		}
	
	}
	cout<<count<<endl;

	return 0;
} 