#include<iostream>
using namespace std;
int W,H;
char map[101][101];
int dir[4][2]={{-1,0},{0,1},{1,0},{0,-1}};
void DFS(int x,int y,char ch)
{
	map[x][y]='.';
	int newx,newy;
	for(int i=0;i<4;i++)
	{
	  newx=dir[i][0]+x;
	  newy=dir[i][1]+y;
	  if(newx>=0&&newx<H&&newy>=0&&newy<W&&map[newx][newy]==ch)
	    DFS(newx,newy,ch);
	}

}
int main()
{
	int count;
	char ch;
  while(cin>>H>>W&&W!=0&&H!=0)
  {
	  count=0;
    for(int i=0;i<H;i++)
    	for(int j=0;j<W;j++)
	  cin>>map[i][j];
	  
	for(int i=0;i<H;i++)
	  for(int j=0;j<W;j++)
	  {
		  ch=map[i][j];
	     if(ch!='.')
		 {
			 count++;
			 DFS(i,j,ch);
		 }
	  }
	  cout<<count<<endl;
  }

}