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

char mp[100][100];
int n,m;

void dfs(int h,int w,char flt){
  // cout << flt << endl;
  mp[h][w]=0;
  if(h+1<n && mp[h+1][w]==flt)dfs(h+1,w,flt);
  if(w+1<m && mp[h][w+1]==flt)dfs(h,w+1,flt);
  if(h-1>=0 && mp[h-1][w]==flt)dfs(h-1,w,flt);
  if(w-1>=0 && mp[h][w-1]==flt)dfs(h,w-1,flt);
  return;
}
  
int main(){
  while(cin >> n >> m,n){
    for(int i=0; i<n; ++i){
      for(int j=0; j<m; ++j){
        cin >> mp[i][j];
      }
    }
    int ans=0;
    for(int i=0; i<n; ++i){
      for(int j=0; j<m; ++j){
        if(mp[i][j]!=0){
          dfs(i,j,mp[i][j]);
          ++ans;
        }
      }
    }
    cout << ans << endl;
  }
}

