#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

char field[101][101], a;

int dfs(int n, int m){
  if(field[n][m+1]==a){
    field[n][m+1]='v';
    dfs(n, m+1);
  }
  if(field[n+1][m]==a){
    field[n+1][m]='v';
    dfs(n+1, m);
  }
  if(field[n][m-1]==a){
    field[n][m-1]='v';
    dfs(n, m-1);
  }
  if(field[n-1][m]==a){
    field[n-1][m]='v';
    dfs(n-1, m);
  }
    return 1;
  
}

int main(void){
  int H, W, sum=0;
  while(cin >> H >> W){
  if(H==0 && W==0)  break;
  string str;
  for(int i=0; i<H; i++){
    cin >> str;
    for(int j=0; j<W; j++){
      field[i][j]=str[j];
    }
  }
  
  for(int i=0; i<H; i++){
    for(int j=0; j<W; j++){
      if(field[i][j]=='#'){
        a='#';
        sum+=dfs(i, j);
      } 
      else if(field[i][j]=='@'){
        a='@';
        sum+=dfs(i, j);
      }
      else if(field[i][j]=='*'){
        a='*';
        sum+=dfs(i, j);
      }
      else continue;
    }
  }
  cout << sum << endl;
  }
  return 0;
}
