#include <iostream>
#include<bits/stdc++.h>
using namespace std;
void dfs(vector<vector<char>>&mat,int i,int j){
int n=mat.size();
int m=mat[0].size();
if(i<n && j<m && i>=0 && j>=0 && mat[i][j]=='.'){
mat[i][j]='#';
dfs(mat,i+1,j);
dfs(mat,i-1,j);
dfs(mat,i,j-1);
dfs(mat,i,j+1);
}
}
int main() {
// your code goes here
int n,m;
cin>>n>>m;
vector<vector<char>>mat(n,vector<char>(m));
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>mat[i][j];
}
}
int ans=0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(mat[i][j]=='.'){
ans++;
dfs(mat,i,j);
}
}
}
cout<<ans<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBkZnModmVjdG9yPHZlY3RvcjxjaGFyPj4mbWF0LGludCBpLGludCBqKXsKCQoJaW50IG49bWF0LnNpemUoKTsKCWludCBtPW1hdFswXS5zaXplKCk7CgkKCWlmKGk8biAmJiBqPG0gJiYgaT49MCAmJiBqPj0wICYmIG1hdFtpXVtqXT09Jy4nKXsKCQkKCQltYXRbaV1bal09JyMnOwoJCQoJCWRmcyhtYXQsaSsxLGopOwoJCWRmcyhtYXQsaS0xLGopOwoJCWRmcyhtYXQsaSxqLTEpOwoJCWRmcyhtYXQsaSxqKzEpOwoJfQp9CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBuLG07CgljaW4+Pm4+Pm07CgkKCXZlY3Rvcjx2ZWN0b3I8Y2hhcj4+bWF0KG4sdmVjdG9yPGNoYXI+KG0pKTsKCQoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJZm9yKGludCBqPTA7ajxtO2orKyl7CgkJCWNpbj4+bWF0W2ldW2pdOwoJCX0KCX0KCQoJaW50IGFucz0wOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJZm9yKGludCBqPTA7ajxtO2orKyl7CgkJCWlmKG1hdFtpXVtqXT09Jy4nKXsKCQkJCWFucysrOwoJCQkJZGZzKG1hdCxpLGopOwoJCQl9CgkJfQoJfQoJCgljb3V0PDxhbnM8PGVuZGw7CglyZXR1cm4gMDsKfQ==