#include<iostream>

using namespace std;

int h, w, cnt;
char fields[101][101];

int dx[4]={-1, 0, 1, 0};
int dy[4]={0, -1, 0, 1};

void dfs(int y, int x, char now){
  fields[y][x]=' ';
  for(int i=0;i<4;i++){
    int ny=y+dy[i], nx=x+dx[i];
    if(0<=y&&y<=h-1&&0<=x&&x<=w-1&&fields[ny][nx]==now)dfs(ny, nx, now);
  }
}

int main(){
  while(1){
    cin >> h >> w;
    if(h==0 && w==0)break;
    cnt=0;
    for(int i=0;i<h;i++){
      for(int j=0;j<w;j++){
        cin >> fields[i][j];
      }
    }
    for(int i=0;i<h;i++){
      for(int j=0;j<w;j++){
        if(fields[i][j]!=' '){
          cnt++;
          dfs(i, j, fields[i][j]);
        }
      }
    }
    cout << cnt << endl;
  }
}
