#include<iostream>
using namespace std;
char mas[100][100];
int H ,W ,cnt=0;
int dx[4] = { 1,0,-1,0 };
int dy[4] = { 0,-1,0,1 };
char n;
void dfs(int x ,int y);

int main(){
  while(1){
    cnt = 0;
    cin >> H >> W;
    if ( H == 0 && W == 0 ){
      break;
    }
 
    for (int i=0 ; i<H ; i++ ){
      for ( int j=0 ; j<W ; j++ ){
	cin >> mas[i][j];
      }
    }
    for ( int i=0 ; i<H ; i++ ){
      for ( int j=0 ; j<W ; j++ ){
	if ( mas[i][j] == '#' || mas[i][j] == '@' || mas[i][j] == '*' ){
	  cnt++;
	  n = mas[i][j];
	  dfs (j , i );
	}
      }
    }
    cout << cnt << endl;
  }
}


void dfs (int x ,int y ){
  mas[y][x] = '.';
  for (int i=0 ; i<4 ; i++ ){
    int nx = x + dx[i];
    int ny = y + dy[i]; 
   if ( nx >= 0 && nx < W && ny >= 0 && ny < H && n == mas[ny][nx]){
      dfs ( nx ,ny );

    }
  }
  return ;  
}