#include<stdio.h>
#include<string>
#include<stdlib.h>
#include<math.h>
#include<iostream>
#include<vector>
#include<algorithm>
#include<numeric>
#include<string.h>
#include<map>
#include<queue>

using namespace std;

typedef pair<int,int> pii;

#define rep(i,j) for(int i=0;i<(j);i++)
#define reps(i,j,k) for(int i=j;i<=k;i++)
#define in(i,j,k) ((i)>=(j)&&(i)<=(k))


int main(){
	int w,h,cnt;
	int dx[]={0,1,0,-1},dy[]={1,0,-1,0};
	char m[100][101];
	queue<pii> q;
	for(;;){
		scanf("%d%d",&h,&w);
		if(h==0&&w==0)break;
		cnt=0;
		rep(i,h)scanf("%s",m[i]);
		rep(i,h)rep(j,w){
			if(m[i][j]!=0){
				char c=m[i][j];
				cnt++;
				m[i][j]=0;
				q.push(pii(i,j));
				while(!q.empty()){
					int x=q.front().second,y=q.front().first;
					q.pop();
					rep(k,4){
						if(in(x+dx[k],0,w-1)&&in(y+dy[k],0,h-1)
							&& m[y+dy[k]][x+dx[k]]==c){
								m[y+dy[k]][x+dx[k]]=0;
								q.push(pii(y+dy[k],x+dx[k]));
						}
					}
				}
			}
		}
		printf("%d\n",cnt);
	}
	return 0;
}