#include<stdio.h>
#include<string.h> 
int dx[4]={0,-1,0,1},dy[4]={1,0,-1,0};
char arr[105][105];
int vis[105][105];
int h,w;
void dfs(char obj,int x,int y)
{	
	int i,nx,ny;
	if(arr[x][y]==obj)
	{
		vis[x][y]=1;
		for(i=0;i<4;i++)
		{
			nx=x+dx[i];
			ny=y+dy[i];
			if(!vis[nx][ny]&&(nx>=0&&nx<h)&&(ny>=0&&ny<w))
				dfs(obj,nx,ny);		
		}
	}
	else
		return;
}
int main() 
{
	while(scanf("%d%d",&h,&w),h||w)
	{
		int i,j,num=0;
		for(i=0;i<h;i++)
			scanf("%s",arr[i]);
		for(i=0;i<h;i++)
		for(j=0;j<w;j++)
		{
			if(vis[i][j])
				continue;
			else
			{
				dfs(arr[i][j],i,j);
				num++;
			}
		}
		printf("%d\n",num);
		memset(arr,'\0',sizeof(arr));
		memset(vis,0,sizeof(vis));
	} 
	return 0; 
} 
