#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;

int W,H,ans;
char grid[105][105];
bool flag[105][105];

int dx[4]={-1,0,1,0};
int dy[4]={0,-1,0,1};

void dfs(int x,int y,char c){
    grid[x][y]='.';
    for(int i=0;i<4;i++){
        int tx=x+dx[i],ty=y+dy[i];
        if(tx>=0&&tx<H&&ty>=0&&ty<W&&grid[tx][ty]==c){
            dfs(tx,ty,c);
        }
    }
}

int main(){
    while(true){
        cin>>H>>W;
        if(W==0&&H==0) break;

        for(int i=0;i<H;i++){
            for(int j=0;j<W;j++){
                scanf(" %c",&grid[i][j]);
            }
        }
        ans=0;

        for(int i=0;i<H;i++){
            for(int j=0;j<W;j++){
                if(grid[i][j]!='.'){
                    ans++;
                    dfs(i,j,grid[i][j]);
                }
            }
        }

        cout<<ans<<endl;
    }
    return 0;
}



