#include<bits/stdc++.h>
using namespace std;
int r,c,ans=0;
char a[1005][1005],vis[1005][1005];
int x[4]={1,-1,0,0};
int y[4]={0,0,1,-1};
bool flag=0;
void dfs(int xx,int yy){
vis[xx][yy]='1';
for(int i=0;i<4;i++){
if(a[xx+x[i]][yy+y[i]]=='#'){
flag=1;
dfs(xx+x[i],yy+y[i]);
}
}
if(flag==0){
ans++;
}
return ;
}
int main(){
cin>>r>>c;
for(int i=0;i<c;i++){
for(int j=0;j<r;j++){
cin>>a[i][j];
}
}
memset(vis,'0',sizeof(vis));
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
if(a[i][j]=='#'&&vis[i][j]=='0'){
dfs(i,j);
}
}
}
cout<<ans;
return 0;
}