#include<iostream>
#include<cstdio>
using namespace std;
char map[101][101];
int w,h,cnt;
char hoge;
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};
void dfs(int,int);
int main(){
  while(1){
    cnt=0;
    cin >> h >> w;
    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(j,i);
	}
      }
    }
    printf("%d\n",cnt);
  }
}

void dfs(int x,int y){
  map[y][x]='.';
  for(int i=0;i<8;i++){
    int nx=x+dx[i];
    int ny=y+dy[i];
    if(nx >= 0&& nx < w && ny >= 0 && ny < h && map[ny][nx]==hoge){
	dfs(nx,ny);
      }
  }
}