#include <stdio.h>
int m,n,f[2505];
char e[55][55];
int find(int x)
{
if(f[x]!=x)
f[x]=find(f[x]);
return f[x];
}
void judge(int a,int b)
{
int aa,bb;
aa=find(a);
bb=find(b);
if(aa!=bb)
f[aa]=bb;
}
int main()
{
int m,n;
while(scanf("%d%d",&m,&n)!=EOF)
{
if(m<0&&n<0)
break;
int i,j,k;
for(i=0;i<m;i++)
scanf("%s",e[i]);
for(i=0;i<=m*n;i++)
f[i]=i;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(i!=0)
if(e[i][j]=='A'||e[i][j]=='B'||e[i][j]=='E'||e[i][j]=='G'||e[i][j]=='H'||e[i][j]=='J'||e[i][j]=='K')
if(e[i-1][j]=='C'||e[i-1][j]=='D'||e[i-1][j]=='E'||e[i-1][j]=='H'||e[i-1][j]=='I'||e[i-1][j]=='J'||e[i-1][j]=='K')
judge(n*(i-1)+j,n*i+j);
if(j!=0)
if(e[i][j]=='A'||e[i][j]=='C'||e[i][j]=='F'||e[i][j]=='G'||e[i][j]=='H'||e[i][j]=='I'||e[i][j]=='K')
if(e[i][j-1]=='B'||e[i][j-1]=='D'||e[i][j-1]=='F'||e[i][j-1]=='G'||e[i][j-1]=='I'||e[i][j-1]=='J'||e[i][j-1]=='K')
judge(n*i+j,n*i+j-1);
}
}
int t=0;
for(i=0;i<m*n;i++)
if(f[i]==i)
t++;
printf("%d\n",t);
}
return 0;
}
/*
基本的并查集。。
*/