#include <iostream>
using namespace std;

char F[102][102];

void DFS(int Y,int X,char c){
  if(F[Y][X]!=c){
    return;
  }

  F[Y][X] = '0';

  DFS(Y-1,X  ,c);
  //DFS(Y-1,X+1,c);
  DFS(Y  ,X+1,c);
  //DFS(Y+1,X+1,c);
  DFS(Y+1,X  ,c);
  //DFS(Y+1,X-1,c);
  DFS(Y  ,X-1,c);
  //DFS(Y-1,X-1,c);
}

int main(){
  while(1){
  int N,M;
  cin >> N >> M;
  if(N==0&&M==0)
    break;

  for(int h=1;h<=N;h++){
    for(int w=1;w<=M;w++){
      cin>>F[h][w];
    }
  }

  int cnt=0;
  for(int h=1;h<=N;h++){
    for(int w=1;w<=M;w++){
      if(F[h][w]=='@'){
        cnt++;
        DFS(h,w,'@');
      }else if(F[h][w]=='#'){
        cnt++;
        DFS(h,w,'#');
      }else if(F[h][w]=='*'){
          cnt++;
          DFS(h,w,'*');
      }
    }
  }
  cout<<cnt<<endl;
}
  return 0;
}

