#include <iostream>
using namespace std;
/*
void dfs(char values,int H,int W,int x, int y,int item)
{
	if(x<0 && H<=x) return;
	if(y<0 && W<=y) return;
	if(values[x][y]!=item) return;
	farms[x][y] = '.';
	dfs(values,H,W,x+1,y,item);
	dfs(values,H,W,x-1,y,item);
	dfs(values,H,W,x,y+1,item);
	dfs(values,H,W,x,y-1,item);
}


int solve(char values,int H,int W){
	int res = 0;
	for(int i=0;i<H;i++)
		for(int j=0;j<W;j++)
			if(farms[i][j] != '.')
			{
				dfs(values,H,W,i,j,values[i][j]);
				res++;
			}
	return res;
}
*/
int main()
{
	int H, W;
	std::cin >> H >> W;
	char values[101][101];
	while (!(H == 0 && W == 0))
	{
		for (int i = 0; i < H; i++)
			for (int j = 0; j < W; j++)
				std::cin >> values[i][j];
//		std::cout << solve(values,H,W) << std::endl;
//		std::cin >> H >> W;
	}
	return 0;
}