#include<bits/stdc++.h>
using namespace std;
struct st
{
int x,y;
};
queue <st> a;
char ca[55][55];
int ia[55][55];
int n,m;
int ans=0;
int dx[]={0,0,1,-1};
int dy[]={1,-1,0,0};
void fun1()
{
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(ca[i][j]'@')
{
ia[i][j]=1;
ans=1;
a.push({i,j});
}
}
void fun()
{
while(!a.empty())
{
st n=a.front();
a.pop();
for(int i=0;i<4;i++)
{
int xx=n.x+dx[i]; int yy=n.y+dy[i];
if(xx<=0||yy<=0||xx>n||yy>m) continue;
if(ca[xx][yy]'#') continue;
if(ia[xx][yy]) continue;
ia[xx][yy]=1;
a.push({xx,yy});
ans++;
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>ca[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
fun1();
fun();
cout<<ans;
return 0;
}