#include <iostream>
using namespace std;

char mas[100][101];
int w,h;
int grx[4]={0,1,0,-1},gry[4]={1,0,-1,0};
char tmp;

void dfs(int,int);

int main(){
  int cnt;
  while(1){
    cin >> h >> w;
    cnt = 0;
    if(w == 0 && h == 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] == '@'){
	  tmp = mas[i][j];
	  dfs(j,i);
	  cnt++;
	}
      }
    }
    cout << cnt << endl;
  }
}

void dfs(int x,int y){
  mas[y][x] = '0';
  for(int i=0;i<4;i++){
    int nx = x + grx[i];
    int ny = y + gry[i];
    if(nx >= 0 && nx < w && ny >= 0 && ny < h && mas[ny][nx] == tmp){
      dfs(nx,ny);
    }
  }
}