#include <map>
#include <vector>
#include <queue>
#include <cmath>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <memory.h>
#include <algorithm>

using namespace std;
char a[101][101];
int w,l;

int dx[]={1,0,-1,0};
int dy[]={0,1,0,-1};

void dfs(int x,int y,char p)
{
	a[x][y]='?';

	for(int i=0;i<4;i++)
	{
		int x1=x+dx[i];
		int y1=y+dy[i];

		if(x1>=0 && x1<w && y1>=0 && y1<l && a[x1][y1]==p)
			dfs(x1,y1,p);
	}
}

int main()
{
	while(cin>>w>>l,w)
	{
		int i,j;
		for(j=0;j<l;j++)
			for(i=0;i<w;i++)
			{
				cin>>a[i][j];
			}

		int r=0;
		for(i=0;i<w;i++)
			for(j=0;j<l;j++)
			{
				if(a[i][j]!='?')
				{
				dfs(i,j,a[i][j]);
		        r++;
				}
			}


		cout<<r<<endl;
	}
	return 0;
}