#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
typedef long long LL;
using namespace std;
char m[105][105];
int w, h, ans;
const int DIR [4][2]= {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};
void dfs(int x, int y, char c);
bool is_valid(int x, int y);
int main() {
    //freopen("F:\\TestCode\\TestCLion\\in.txt", "r", stdin);
    while (scanf("%d%d", &w, &h) && w && h) {
        memset(m, 0, sizeof(m));
        ans = 0;
        for (int i = 0; i < h; i++)
            scanf("%s", m + i);
        for (int i = 0; i < h; i++) {
            for (int j = 0; j < w; j++) {
                if (m[i][j] != '.') {
                    dfs(i, j, m[i][j]);
                    ans++;
                }
            }
        }
        printf("%d\n", ans);
    }
    return 0;
}

void dfs(int x, int y, char c) {
    if (!is_valid(x, y) || m[x][y] != c) return;
    m[x][y] = '.';
    for (int i = 0; i < 4; i++)
        dfs(x + DIR[i][0], y + DIR[i][1], c);
}

bool is_valid(int x, int y) {
    return x >= 0 && x < h && y >= 0 && y < w;
}
