#include <iostream>
using namespace std;

char F[101][101];

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

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

    DFS(y-1,x  ,tmp);
    DFS(y  ,x+1,tmp);
    DFS(y+1,x  ,tmp);
    DFS(y  ,x-1,tmp);
}
int main(){
	while(true){
		int h,w;
		cin>>h>>w;
		if(h==0&&w==0){break;}
		for(int y=1;y<=h;y++){
			for(int x=1;x<=w;x++){
				cin>>F[y][x];
			}
		}
	
		int C = 0;
	    char map[3]={'#','@','*'};
	    for(int i=0;i<=3;i++){
    	    for(int y=1;y<=h;y++){
			    for(int x=1;x<=w;x++){
            	    if(F[y][x]==map[i]){
    				    C++;
                    	DFS(y,x,map[i]);
                	}
		    	}
	    	}
    	}
    	cout<<C<<endl;
	}
	
    return 0;
}
