#include <cstdio>
char map[100][101]; //[y][x]
int dx[]={1,0,-1,0},dy[]={0,1,0,-1};
int H,W;
void dfs(int x,int y) {
	char ch=map[y][x];
	map[y][x]=0;
	for(int i=0;i<4;i++) {
		int nx=x+dx[i],ny=y+dy[i];
		if(0>nx||nx>=W||0>ny||ny>=H) continue;
		if(map[ny][nx]!=ch) continue;
		dfs(nx,ny);
	}
}
int main() {
	while(scanf("%d %d",&H,&W),H|W) {
		for(int i=0;i<H;i++)
			scanf("%s",map[i]);
		int count=0;
		for(int i=0;i<H;i++) for(int j=0;j<W;j++) {
			if(map[i][j]) count++,dfs(j,i);
		}
		printf("%d\n",count);
	}
}