#include<bits/stdc++.h>
using namespace std;
const int maxn=101;
int n,m;
char mp[maxn][maxn];
int dir[4][2]= {{0,1},{1,0},{0,-1},{-1,0}};
bool vis[maxn][maxn]= {false};
void dfs(int x,int y)
{
vis[x][y]=true;
for(int i=0; i<4; i++)
{
int tx=x+dir[i][0];
int ty=y+dir[i][1];
if(mp[tx][ty]=='#'&&tx>=0&&tx<n&&ty>=0&&ty<m&&vis[tx][ty]==false)
{
dfs(tx,ty);
}
}
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=0; i<n; i++)
{
cin>>mp[i];
}
int ans=0;
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
if(mp[i][j]=='#'&&vis[i][j]==false)
{
ans++;
dfs(i,j);
}
}
}
printf("%d",ans);
return 0;
}