#include <bits/stdc++.h>
using namespace std;
int A,B;
int arr[1000][1000]={};
string str[1000];
int X[4]={1,-1,0,0};
int Y[4]={0,0,1,-1};
int cnt=1;
void dfs(int x, int y){
arr[x][y]=cnt;
for(int i=0;i<4;i++){
if(x+X[i]<A && x+X[i]>=0 && y+Y[i]>=0 && y+Y[i]<B && arr[x+X[i]][y+Y[i]]==0 && str[x+X[i]][y+Y[i]]=='.'){
dfs(x+X[i],y+Y[i]);
}
//cout << str[x+X[i]]<< ' ' << y+Y[i] << ' ';
}//cout << '\n';
return ;
}
int main() {
cin >>A>>B;
for(int i=0;i<A;i++){
cin >> str[i];
}for(int i=0;i<A;i++){
for(int j=0;j<B;j++){
if(str[i][j]=='.' && arr[i][j]==0){
dfs(i,j);
cnt++;
//cout << i << ' ' << j << '\n';
}
}
}cout << cnt-1 << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgQSxCOwppbnQgYXJyWzEwMDBdWzEwMDBdPXt9OwpzdHJpbmcgc3RyWzEwMDBdOwppbnQgWFs0XT17MSwtMSwwLDB9OwppbnQgWVs0XT17MCwwLDEsLTF9OwppbnQgY250PTE7Cgp2b2lkIGRmcyhpbnQgeCwgaW50IHkpewoJYXJyW3hdW3ldPWNudDsKCWZvcihpbnQgaT0wO2k8NDtpKyspewoJCWlmKHgrWFtpXTxBICYmIHgrWFtpXT49MCAmJiB5K1lbaV0+PTAgJiYgeStZW2ldPEIgJiYgYXJyW3grWFtpXV1beStZW2ldXT09MCAmJiBzdHJbeCtYW2ldXVt5K1lbaV1dPT0nLicpewoJCQlkZnMoeCtYW2ldLHkrWVtpXSk7CgkJfQoJCS8vY291dCA8PCBzdHJbeCtYW2ldXTw8ICcgJyA8PCB5K1lbaV0gPDwgJyAnOwoJfS8vY291dCA8PCAnXG4nOwoJcmV0dXJuIDsKfQoKaW50IG1haW4oKSB7CgljaW4gPj5BPj5COwoJZm9yKGludCBpPTA7aTxBO2krKyl7CgkJY2luID4+IHN0cltpXTsKCX1mb3IoaW50IGk9MDtpPEE7aSsrKXsKCQlmb3IoaW50IGo9MDtqPEI7aisrKXsKCQkJaWYoc3RyW2ldW2pdPT0nLicgJiYgYXJyW2ldW2pdPT0wKXsKCQkJCWRmcyhpLGopOwoJCQkJY250Kys7CgkJCQkvL2NvdXQgPDwgaSA8PCAnICcgPDwgaiA8PCAnXG4nOwoJCQl9CgkJfQoJfWNvdXQgPDwgY250LTEgPDwgJ1xuJzsKfQ==