#include <iostream>
#include <cstring>
using namespace std;

int w,h,c;
int dx[] = {0,0,1,-1};
int dy[] = {1,-1,0,0};
char fld[128][128];
bool vst[128][128];


void dfs(int y, int x)
{
	vst[y][x] = 1;
	for(int i=0; i<4; i++)
	{
		int nx = x+dx[i];
		int ny = y+dy[i];
		
		if(fld[y][x]==fld[ny][nx])
		if(!vst[ny][nx])
		{
			dfs(ny,nx);
		}
	}
}

int main()
{
	while(cin >> h >> w, h||w)
	{
		memset(vst,0,sizeof(vst));
		for(int y=0; y<h; y++)
		{
			cin >> fld[y];
		}

		c=0;

		for(int y=0; y<h; y++)
		for(int x=0; x<w; x++)
		{
			if(!vst[y][x])
			{
				c++;
				dfs(y,x);
			}
		}
		cout << c << endl;
	}
}