#include <iostream>
using namespace std;

int H,W,res,dx[]={-1,0,1,0},dy[]={0,-1,0,1};
char farm[101][101];

void dfs(int x, int y, char s){
	farm[x][y] = '!';
	
	for(int i=0;i<4;i++){
		int nx = x+dx[i], ny=y+dy[i];
		if(nx<0 || W<=nx) continue;
		if(ny<0 || H<=ny) continue;
		if(farm[nx][ny] != s) continue;
		else dfs(nx,ny,s);
	}
	
	return;
}

int main(void) {
	while(cin >> H >> W,H+W){
		res=0;
		
		for(int i=0;i<H;i++){
			for(int j=0;j<W;j++){
				cin >> farm[i][j];
			}
		}
		
		
		for(int i=0;i<H;i++){
			for(int j=0;j<W;j++){
				if(farm[i][j] != '!'){
					dfs(i,j,farm[i][j]);
					res++;
				}
			}
		}
		
		cout << res << endl;
	}
}