#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int>P;
const double eps = 1e-8;
const int NINF = 0xc0c0c0c0;
const int INF  = 0x3f3f3f3f;
const ll  mod  = 1e9 + 7;
const ll  maxn = 1e6 + 5;
const int N = 200;

char s[N][N];
bool vis[N][N];
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};

void dfs(int x,int y,char c){
	for(int i=0;i<4;i++){
		int tx=x+dx[i];
		int ty=y+dy[i];
		if(s[tx][ty]==c&&!vis[tx][ty]){
			vis[tx][ty]=true;
			dfs(tx,ty,c);
		}
	}
}


int main(){
	int m,n;
	while(scanf("%d%d",&n,&m) && m && n){
		int res=0;
		memset(s,0,sizeof(s));
		memset(vis,false,sizeof(vis));
		for(int i=1;i<=n;i++){
			scanf("%s",s[i]+1);
		}
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				if(vis[i][j]) continue;
				res++;
				vis[i][j]=true;
				dfs(i,j,s[i][j]);
			}
		}
		printf("%d\n",res);
	}
	return 0;
}
