#include <bits/stdc++.h>
using namespace std;
const int N = 5e2 + 1;
const int dx[4] = {0, 1, 0, -1};
const int dy[4] = {1, 0, -1, 0};
char a[N][N];
int n, m,ans;
bool flag[N][N];
void dfs(int x,int y){
flag[x][y]=true;
for(int i=0;i<4;i++){
int px=x+dx[i];
int py=y+dy[i];
if(px>=1&&px<=n&&py>=1&&py<=m&&a[px][py]!='*'&&!flag[px][py]){
dfs(px,py);
}
}
}
int main() {
memset(flag,false,sizeof(flag));
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
dfs(1,1);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]!='*'&&!flag[i][j])ans++;
}
}
cout<<ans<<"\n";
return 0;
}