#include <iostream>
using namespace std;
int chuaxet[10004];
void khoitao ()
{
for (int i=1; i<=10000; i++)
{
chuaxet[i]=1;
}
}
char grass[102][102];
int dinh[102][102];
int R, C;
void nhap ()
{
int stt=0;
cin>>R>>C;
for (int i=1; i<=R; i++)
{
for (int j=1; j<=C; j++)
{
cin>>grass[i][j];
stt++;
dinh[i][j]=stt; //khoi tao dinh
}
}
}
int xqX[]={0, -1, 0, 1};
int xqY[]={1, 0, -1, 0};
void DFS_RA (int r, int c)
{
for (int i=0; i<4; i++)
{
int X=c+xqX[i];
int Y=r+xqY[i];
if ((X>=1 && X<=C) && (Y>=1 && Y<=R) && chuaxet[dinh[Y][X]]==1 && grass[Y][X]=='#')
{
chuaxet[dinh[Y][X]]=0; //Dinh da duyet
DFS_RA (Y, X);
}
}
}
int main ()
{
//IN;
nhap ();
//OUT;
khoitao();
int dem=0;
for (int i=1; i<=R; i++)
{
for (int j=1; j<=C; j++)
{
if (grass[i][j]=='#' && chuaxet[dinh[i][j]]==1)
{
dem++;
chuaxet[dinh[i][j]]=0; //Dinh da duyet
DFS_RA (i, j);
}
}
}
cout<<dem;
return 0;
}