#include<stdio.h>

char map[101][101];
int H,W;

void func(int x,int y,char m){
	map[x][y] = '0';
	if(map[x][y+1] == m && y+1<101)
		func(x,y+1,m);
	if(map[x][y-1] == m && y-1>-1)
		func(x,y-1,m);
	if(map[x+1][y] == m && x+1<101)
		func(x+1,y,m);
	if(map[x-1][y] == m && x-1>-1)
		func(x-1,y,m);
}

int main(void){
	while(scanf("%d%d",&H, &W) && H){
		int ans = 0;
		for(int i = 0; i < H; i++){
			scanf("%s",map[i]);
		}
		
		for(int i = 0 ; i < H; i++){
			for(int j = 0; j < W; j++){
				if(map[i][j] != '0'){
					ans++;
					func(i,j,map[i][j]);
				}
			}
		}
		printf("%d\n",ans);
		
		for(int i = 0; i < 101;i++){
			for(int j = 0; j < 101; j++){
				map[i][j] = '0';
			}
		}
	}
	return 0;
}