#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

char board[105][105];
int h,w;
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, -1, 0, 1};
int cnt = 0;

int dfs(int x, int y, char ch) {
    board[x][y] = '!';
    for(int i = 0; i < 4; i++) {
        int _x = dx[i] + x;
        int _y = dy[i] + y;
        if(_x >= 0 && _y >= 0 && _x < h && _y < w && board[_x][_y] == ch) {
            dfs(_x, _y, ch);
        }
    }
}

int main () {
    while(true) {
        scanf("%d%d",&w,&h);
        if(w == 0 && h == 0) {
            break;
        }
        for(int i = 0; i < h; i++) {
            getchar();
            for(int j = 0; j < w; j++) {
                scanf("%c",&board[i][j]);
            }
        }
        for(int i = 0; i < h; i++) {
            for(int j = 0; j < w; j++) {
                if(board[i][j] != '!') {
                    dfs(i, j, board[i][j]);
                    cnt++;
                }
            }
        }
        printf("%d\n", cnt);
        cnt = 0;
    }
}

