#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
#define MAX_W 102
#define MAX_H 102

int H,W;
char f[MAX_H][MAX_W];

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

int dfs(int x, int y,char ch) {
    int nx,ny;
    for(int i=0;i<4;i++) {
        nx = x+dx[i];
        ny = y+dy[i];
        if(f[ny][nx]==ch) {
            f[ny][nx]=0;
            dfs(nx,ny,ch);
        }
    }
}

int solve() {
    int ans = 0;
    for(int i=1;i<=H;i++) {
        for(int j=1;j<=W;j++) {
            if(f[i][j] != 0) {
                dfs(j,i,f[i][j]);
                ans++;
            }
        }
    } 
    return ans;
}

main() {
    while(cin>>H>>W) {
        if(H==W&&H==0) break;
        fill((char*)f,(char*)(f+H),'0');
        for(int i=1;i<=H;i++) {
            for(int j=1;j<=W;j++) {
                cin>>f[i][j];
            }
        }
        cout << solve() << endl;
    }
}