#include <iostream>
using namespace std;

char F[102][102];
void DFS(int x,int y,char z){
    if(F[x][y]!=z)
        return;

    F[x][y]='.';

    DFS(x-1,y,z);
    DFS(x,y+1,z);
    DFS(x+1,y,z);
    DFS(x,y-1,z);
}

int main(){
    int H,W;
    while(1){
        cin>>H>>W;
        if(H==0||W==0){
            break;
        }
        for(int x=1;x<=H;x++){
            for(int y=1;y<=W;y++){
                cin>>F[x][y];
            }
        }

        int cnt=0;
        for(int x=1;x<=H;x++){
          for(int y=1;y<=W;y++){
             if(F[x][y]=='#'){
                    cnt++;
                    DFS(x,y,'#');
             }
                if(F[x][y]=='@'){
                    cnt++;
                    DFS(x,y,'@');
                }
                if(F[x][y]=='*'){
                    cnt++;
                    DFS(x,y,'*');
                }
            }
        }
        cout<<cnt<<endl;
    }
    return 0;
}
