#include<iostream>
#include<cstdio>
#define maxn 502
using namespace std;
int x,y,a[maxn][maxn];
void dfs(int p,int q)
{
if(p>x+1||p<0||q>y+1||q<0||a[p][q])return;
a[p][q]=1;
dfs(p+1,q);
dfs(p,q+1);
dfs(p-1,q);
dfs(p,q-1);
}
int main()
{
cin>>x>>y;
char c;
int sum=0;
for(int i=1;i<=x;i++)
for(int j=1;j<=y;j++){
if((c=getchar())=='\n')c=getchar();
if(c=='*')a[i][j]=1;
}
dfs(0,0);
for(int i=1;i<=x;i++)
for(int j=1;j<=y;j++)
if(!a[i][j]){
sum++;
}
cout<<sum<<endl;
}
第一个数据点在本地跑是对的,上在线ide却不对了