#include<bits/stdc++.h>
using namespace std;
bool mp[1001][1001];
int n,m,ans,dx[4]={0,-1,0,1},dy[4]={1,0,-1,0};
queue<int> x,y;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
char a[1001];
cin>>a;
for(int j=1;j<=m;j++){
if(a[j-1]=='*') mp[i][j]=1;
else mp[i][j]=0;
if(i==1||j==1||i==n||j==m){
if(!mp[i][j]){
mp[i][j]=1;
x.push(i);
y.push(j);
}
}
}
}
while(!x.empty()){
int nox=x.front(),noy=y.front();
x.pop(),y.pop();
for(int i=0;i<4;i++){
int nx=nox+dx[i];
int ny=noy+dy[i];
if(nx>=1&&nx<=n&&ny>=1&&ny<=n&&!(mp[nx][ny])){
x.push(nx),y.push(ny),mp[nx][ny]=1;
}
}
}
cout<<endl;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(!mp[i][j]) ans++;
}
}
cout<<ans;
return 0;
}