#include<iostream>
#include<algorithm>
#include<utility>
#include<cmath>
#include<string>

using namespace std;

char map[101][101];

void dfs(int x,int y,char a){
  if(x>a||x<0){
    return;
  }
  else if(y>b||y<0){
    return;
  }

  if(map[x][y]== a){
    map[x][y]='x';
  }
  else{
    return;
  }

  dfs(x+1,y,a);
  dfs(x-1,y,a);
  dfs(x,y+1,a);
  dfs(x,y-1,a);
}

int main(){
  int a,b;
  int ans;
  ans=0;
  
  while(cin>>a>>b){
  if(a==0&&b==0){
    return 0;
  }
  	
  for(int i=0;i<a;i++){
    for(int j=0;j<b;i++){
      cin >> map[i][j];
    }
  }


  for(int i=0;i<a;i++){
    for(int j=0;j<b;i++){
      if(map[i][j]!='x'){
	dfs(i,j,map[i][j]);
	ans+=1;
      }
    }
  }
  }
  cout << ans << endl;
  
  return 0;
}