#include <cstdio>
const int maxn=105;
int d[4][2]={{0,1},{0,-1},{1,0},{-1,0}};
char a[maxn][maxn];
int h,w;
int ans;
void dfs(int x,int y,char c)
{
	a[x][y]='!';
	for(int i=0;i<4;i++)
	{
		int nx=x+d[i][0],ny=y+d[i][1];
		if(nx>=0&&nx<h&&ny>=0&&ny<w&&a[nx][ny]==c)
			dfs(nx,ny,c);
	}
}

int main()
{
	while(scanf("%d%d",&h,&w)==2&h!=0)
	{
		for(int i=0;i<h;i++)
			scanf("%s",&a[i]);
		ans=0;
		for(int i=0;i<h;i++)
			for(int j=0;j<w;j++)
				if(a[i][j]!='!')
				{
					dfs(i,j,a[i][j]);
					ans++;
				}
		printf("%d\n",ans);
	}
	return 0;
}
