#include <iostream>
using namespace std;
char map[101][101],type[4] = "@#*";
int h,w;
void f(int y,int x,char t){
	int i,dy[4] = {-1,0,0,1},dx[4] = {0,-1,1,0},nx,ny;
	map[y][x] = '.';
	for(i = 0;i < 4;i++){
		ny = y + dy[i];
		nx = x + dx[i];
		if(0 <= nx && nx < w && 0 <= ny && ny < h && map[ny][nx] == t){
			f(ny,nx,t);
		}
	}
	return;
}
int main(){
	int i,j,count,k;
	while(cin >> h >> w && (h != 0 && w != 0)){
		count = 0;
		for(i = 0;i < h;i++){
			cin >> map[i];
		}
		for(i = 0;i < h;i++){
			for(j = 0;j < w;j++){
				for(k = 0;k < 3;k++){
					if(map[i][j] == type[k]){
						f(i,j,type[k]);
						count++;
					}
				}
			}
		}
		cout << count << endl;
	}
	return 0;
}