#include<iostream>
#include<stdio.h>
#include<vector>
using namespace std;
char a[105][105];

int w, h;
char flag;
int ans;

void dfs(int x, int y)
{
    if(a[x][y] == flag && x >= 0 && x < h && y >= 0 && y < w)
    {
        a[x][y] = '.';
        dfs(x+1, y);
        dfs(x-1, y);
        dfs(x, y+1);
        dfs(x, y-1);
    }

}

int main()
{
    while(~scanf("%d %d", &h, &w))
    {
        ans = 0;
        if(w == 0 && h == 0)
            break;
        for(int i = 0; i < h; i++)
            for(int j = 0; j < w; j++)
                cin >> a[i][j];
        for(int i = 0; i < h; i++)
            for(int j = 0; j < w; j++)
                if(a[i][j] != '.')
                {
                    flag = a[i][j];
                    dfs(i, j);
                    ans++;
                }
        cout << ans << endl;
    }
    return 0;
}

