#include<iostream>
#include<cstdio>
using namespace std;
char map[100][100];
int w,h,cnt;
char hoge;
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};
void dfs(int i,int j);
int main(){
  while(1){
    cnt=0;
    cin >> w >> h;
    if(w == 0 && h == 0)break;
    for(int i=0;i<h;i++){
      for(int j=0;j<w;j++){
	cin >> map[i][j];
      }
    }
    for(int i=0;i<h;i++){
      for(int j=0;j<w;j++){
	if(map[i][j]!='.'){
	  cnt++;
	  hoge=map[i][j];
	  dfs(i,j);
	}
      }
    }
    printf("%d\n",cnt);
  }
}
void dfs(int x,int y){
  map[x][y]='.';
  int nx,ny;
  for(int i=0;i<4;i++){
    nx=x+dx[i];
    ny=y+dy[i];
    if(nx>=0 && ny < h && ny>= 0 && ny < w && map[nx][ny]==hoge){
      dfs(nx,ny);
    }
  }
}