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

char mapp[111][111];
int flag[111][111];
int W,H;
int ans;

void dfs(int x,int y,char ch){
    if(x<0||x>=H||y<0||y>=W)return;
    if(mapp[x][y]!=ch||flag[x][y]==1)return;
    flag[x][y]=1;


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


int main(){
    while(~scanf("%d%d",&H,&W)){
        if(W==0)break;

        for(int i=0;i<H;i++){
            scanf("%s",mapp[i]);
        }


        ans=0;
        memset(flag,0,sizeof(flag));

        for(int i=0;i<H;i++){
            for(int j=0;j<W;j++){
                if(flag[i][j]==0){
                    ans++;
                    dfs(i,j,mapp[i][j]);
                }
            }
        }


        printf("%d\n",ans);
    }
    return 0;
}

