// 2012/10/25 Tazoe

#include <iostream>
using namespace std;

char F[102][102];

void dfs(int Y, int X, char C)
{
	if(F[Y][X]!=C)
		return;

	F[Y][X] = 0;

	dfs(Y-1, X, C);
	dfs(Y, X+1, C);
	dfs(Y+1, X, C);
	dfs(Y, X-1, C);
}

int main()
{
	while(true){
		int H, W;
		cin >> H >> W;

		if(H==0&&W==0)
			break;

		for(int y=1; y<=H; y++){
			for(int x=1; x<=W; x++){
				cin >> F[y][x];
			}
		}

		int cnt = 0;
		for(int y=1; y<=H; y++){
			for(int x=1; x<=W; x++){
				if(F[y][x]!=0){
					cnt++;
					dfs(y, x, F[y][x]);
				}
			}
		}

		cout << cnt << endl;
	}

	return 0;
}