#include<bits/stdc++.h>
using namespace std;
int dx[]={1,-1,0,0};
int dy[]={0,0,1,-1};

void dfs(vector<vector<int > > &map,int x,int y,int value){
	map[x][y] = 0;
	for(int i=0;i<4;i++){
	int nx = x+dx[i];
	int ny = y+dy[i];
	if(map[nx][ny]==value)dfs(map,nx,ny,value);
	}
	return;
}

int main(){
	int h,w;
	while(1){
		cin>>h>>w;
		if(h==0)break;
		vector<vector<int> > map(h+2,vector<int>(w+2,0) );
		char a;
		for(int i=1;i<=h;i++)for(int j=1;j<=w;j++){
		cin>>a;
			if(a=='#'){
			map[i][j] = 1;
			}	
			if(a=='*'){
			map[i][j]=2;
			}
			if(a=='@'){
			map[i][j]=3;
			}
		}	
		int ans = 0;
		for(int i=1;i<=h;i++)for(int j=1;j<=w;j++){
			if(map[i][j]!=0){
				dfs(map,i,j,map[i][j]);
				ans++;
			}
		}	

		cout<<ans<<endl;

	}
	return 0;
}

