#include<cstdio>
#include<cstring>
int n,w;
char m[105][105];
int dx[4]={0,0,-1,1};
int dy[4]={1,-1,0,0};
int vis[105][105];
int ans=0;
int sx,sy;
void dfs(int x,int y){
    for(int i=0;i<4;i++){
        sx=x+dx[i];
        sy=y+dy[i];
        if(sx>=1&&sx<=n&&sy>=1&&vis[sx][sy]==0&&sy<=w&&m[sx][sy]==m[x][y]){
            vis[sx][sy]=1;
            dfs(sx,sy);
        }
    }
}
int main(){
   while(scanf("%d%d",&n,&w)&&n&&w){
       memset(vis,0,sizeof(vis));
       ans=0;
       for(int i=1;i<=n;i++){
          scanf("%s",m[i]);
       }
       for(int i=1;i<=n;i++){
          for(int j=1;j<=w;j++){
             if(vis[i][j]==0){
                vis[i][j]=1;
                dfs(i,j);
                ans++;
             }
          }
       }
       printf("%d\n",ans+1);
   }
   return 0;
}

