#include <bits/stdc++.h>
using namespace std;
bool qq[101][101];
string xxs;
int n,m,sum;
int a[]={-1,-1,-1,0,0,0,1,1,1},b[]={-1,0,1,-1,0,1,-1,0,1};
struct node{int x,y;};
queue<node> qb;
void bfs(int i,int j){
qb.push({i,j});
qq[i][j]=1;
while(!qb.empty()){
node hand;
hand=qb.front();
qb.pop();
for(int sx=0;sx<8;sx++){
int nx=hand.x+a[sx],ny=hand.y+b[sx];
if(nx<0||nx>=n||ny<0||ny>=m||qq[nx][ny]){continue;}
qb.push({nx,ny});
qq[nx][ny]=1;
}
}int len=qb.size();
for(int i=0;i<len;i++)qb.pop();
return;
}int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>xxs;
for(int j=0;j<m;j++){
if(xxs[j]=='.')qq[i][j]=1;
}
}for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(!qq[i][j]){
sum++;
bfs(i,j);
}
}
}cout<<sum;
return 0;
}