#include <iostream>
using namespace std;
#define int long long
#define endl '\n'
#define maxn 30
int n,m,sum=1;
int dx[4]={-1,0,1,0};
int dy[4]={0,1,0,-1};
char a[maxn][maxn];
bool vist[maxn][maxn];
void dfs(int x,int y)
{
for(int i=0;i<4;i++)
{
int xx=x+dx[i],xy=y+dy[i];
if(vist[xx][xy]==false&&a[xx][xy]=='.')
{
vist[xx][xy]=true;
sum++;
dfs(xx,xy);
}
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>m>>n;
for(int i=0;i<=n;i++)
for(int j=0;j<=m;j++)
a[i][j]='0';
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
if(a[i][j]=='@')
{
vist[i][j]=true;
dfs(i,j);
}
}
}
cout<<sum;
return 0;
}