#include <iostream>
#include <string>
using namespace std;

string map[110];

int h, w;

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

void dfs(int x, int y) {
    char type = map[x][y];
    map[x][y] = '.';
    for (int i = 0; i < 4; i++) {
        int nx = x + dx[i];
        int ny = y + dy[i];
        if (nx >= 0 && nx < h && ny >= 0 && ny < w && map[nx][ny] == type) {
            dfs(nx, ny);
        }
    }
}

int main() {
    cin >> h >> w;
    for (int i = 0; i < h; i++) {
        cin >> map[i];
    }
    int count = 0;
    for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++) {
            if (map[i][j] != '.') {
                count++;
                dfs(i, j);
            }
        }
    }
    cout << count;
    return 0;
}