#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

#define rep(i, n) for(int i=0; i<(n); ++i)

int H, W, size;
char map[101][101];
void dfs(int i, int j) {
    char c = map[i][j];
    map[i][j] = '.';
    if(i+1<H && map[i+1][j]==c) dfs(i+1, j);
    if(j+1<W && map[i][j+1]==c) dfs(i, j+1);
    if(i>0 && map[i-1][j]==c) dfs(i-1, j);
    if(j>0 && map[i][j-1]==c) dfs(i, j-1);
}
int main() {
    while(1) {
        cin >> H >> W;
        if(H==0) break;
        rep(i, H) {
            rep(j, W) {
                cin >> map[i][j];
            }
        }
        rep(i, H) {
            rep(j, W) {
                if(map[i][j]!='.') {
                    dfs(i, j);
                    size++;
                }
            }
        }
        cout << size << endl;
    }
    return 0;
}