#include<string.h>
#include<stdio.h>
#include<algorithm>
using namespace std;
int dx[5]={0,1,-1,0,0};
int dy[5]={0,0,0,1,-1};
char mp[105][105];
int h,w;
int vis[105][105];
int ans;
void dfs(int x,int y,char c)
{
    for(int i=1;i<=4;i++)
    {
        int xx=x+dx[i];
        int yy=y+dy[i];
        if(xx>0&&xx<=h&&yy>0&&yy<=w&&!vis[xx][yy]&&mp[xx][yy]==c)
        {
            vis[xx][yy]=1;
            dfs(xx,yy,c);
        }
    }
}
int main()
{
    
    while(1)
    {
    	scanf("%d%d",&h,&w);
    	if(h==0&&w==0)
    	{
    		break;	
    	}
        getchar();
        for(int i=1;i<=h;i++)
        {
            scanf("%s",mp[i]+1);
        }
        memset(vis,0,sizeof vis);
        ans=0;
        for(int i=1;i<=h;i++)
        {
            for(int j=1;j<=w;j++)
            {
                if(!vis[i][j])
                {
                    ans++;
                    dfs(i,j,mp[i][j]);
                }
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}





