#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int W,H;
int sum;
char array[101][101];
int place[4][2]={0,1,1,0,0,-1,-1,0};
void dfs(int x,int y,char t){
	array[x][y]='!';
	for(int i=0;i<4;i++){
		int tx=x+place[i][0];
		int ty=y+place[i][1];
		if(tx<0||tx>=H||ty<0||ty>=W||array[tx][ty]=='!')
			continue;
		if(array[tx][ty]==t){
			dfs(tx,ty,t);
		}
	}
}
int main(){
	cin>>H>>W;
	while(W!=0&&H!=0){
		sum=0;
		int a,b;
		for(int i=0;i<H;i++)
			for(int j=0;j<W;j++){
				cin>>array[i][j];
			}
		for(int i=0;i<H;i++)
			for(int j=0;j<W;j++)
				if(array[i][j]!='!'){
					dfs(i,j,array[i][j]);
					sum++;
				}
		cout<<sum<<endl;
		cin>>H>>W;
	}
	return 0;
}
