#include<iostream>
using namespace std;
char a[105][105],s;
int dir[4][2]={0,1,0,-1,-1,0,1,0},n,m;
void dfs(int x,int y)
{
	for(int i=0;i<4;i++)
	{
		int tx=x+dir[i][0];
		int ty=y+dir[i][1];
		if(tx<0||tx>=n||ty<0||ty>=m)
		{
			continue;
		 } 
		 if(a[tx][ty]==s)
		 {
		 	a[tx][ty]='0';
		 	dfs(tx,ty);
		 }
	}
}
int main()
{
	while(cin>>n>>m)
	{
		if(n==0&&m==0)
		{
			return 0;
		}
		int ans=0;
		for(int i=0;i<n;i++)
		{
			cin>>a[i];
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<m;j++)
			{
				if(a[i][j]!='0')
				{
					s=a[i][j];
					a[i][j]='0';
					dfs(i,j);
					ans++;
				}
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}
