#include<iostream>
#include<algorithm>
#include<cstring>
char arr[105][105],temp;
int n,m;
int direction[4][2]={{0,1},{-1,0},{0,-1},{1,0}};

using namespace std;

void bfs(int i,int j)
{
   	if(i<0||i>=m||j<0||j>=n)
   	   return;
   	if(arr[i][j]!=temp)
   	   return;
   	arr[i][j]='.';
   	for(int k=0;k<4;k++)
   	   bfs(i+direction[k][0],j+direction[k][1]);	
}

int main()
{

	while(scanf("%d%d",&m,&n)==2&&m!=0&&n!=0)
	{
		int cnt=0;
		getchar();
		for(int i=0;i<m;i++)
		   gets(arr[i]);
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<n;j++)
			{
				if(arr[i][j]!='.')
				{
				  temp=arr[i][j];
				  bfs(i,j);
				  cnt++;
			    }
			}
		}
		cout << cnt <<endl;
	}
}
