#include<bits/stdc++.h>
using namespace std;

char maps[100][100];
bool check[100][100];
int h,w;
int dx[4] = {1,0,-1,0};
int dy[4] = {0,1,0,-1};
int nx,ny;
int co;

void bfs(int x,int y,char sym);
int main()
{
  while(1){
    cin >> h >> w;
    co=0;
    if(!h && !w)break;
    memset(check,false,sizeof(check));
    for(int i = 0;i < h;i++){
      cin >> maps[i];
    }
    for(int i = 0;i < h;i++){
      for(int j = 0;j < w;j++){
	if(check[i][j] == false){
	  co++;
	  bfs(j,i,maps[i][j]);
	}
      }
    }
    cout << co << endl;
  }
}

void bfs(int x,int y,char sym)
{
  check[y][x] = true;
  for(int i = 0;i < 4;i++){
     nx = x+dx[i];
     ny = y+dy[i];
     if(check[ny][nx] == false && maps[ny][nx] == sym && ny < h && nx < w && ny >= 0 && nx >= 0){
      bfs(nx,ny,maps[ny][nx]);
    }
  }
  return ;
}