#include<iostream>
using namespace std;
int H,W,cnt;
string str;
int t[100][100];
bool vd[100][100];
void rec(int y,int x,int id){
  if(vd[y][x]==true)return;
  vd[y][x]=true;
  if(y>0&&t[y-1][x]==id)rec(y-1,x,id);
  if(x>0&&t[y][x-1]==id)rec(y,x-1,id);
  if(y+1<H&&t[y+1][x]==id)rec(y+1,x,id);
  if(x+1<W&&t[y][x+1]==id)rec(y,x+1,id);
}
int main(){
  while(cin>>H>>W){
    if(H==0&&W==0)break;
    for(int i=0;i<H;i++){
      cin>>str;
      for(int j=0;j<W;j++){
	vd[i][j]=false;
	if(str[j]=='#')t[i][j]=1;
	if(str[j]=='@')t[i][j]=2;
	if(str[j]=='*')t[i][j]=3;
      }
    }
    cnt=0;
    for(int i=0;i<H;i++){
      for(int j=0;j<W;j++){
	if(vd[i][j]==false){
	  cnt++;
	  rec(i,j,t[i][j]);
	}
      }
    }
    cout<<cnt<<endl;
  }
  return 0;
}