#include<iostream>
#include<stdlib.h>
#include<cstdio>
//#include<algorithm>
#include<cstring>
//#include<queue>
using namespace std;
int w,h,sum;
char ma[25][25];
int dir[4][2]= {{1,0},{0,1},{-1,0},{0,-1}};
void dfs(int i,int j)
{
sum++;
ma[i][j]='!';
for(int k=0; k<4; k++)
{
int x = i+dir[k][0];
int y = j+dir[k][1];
if(x<h&&y<w&&x>=0&&y>=0&&ma[x][y]=='.')
dfs(x,y);
}
return;
}
int main()
{
int fi,fj;
while(scanf("%d%d",&w,&h)!=EOF&&w!=0&&h!=0)
{
sum=0;
for(int i=0; i<h; i++)
{
for(int j=0; j<w; j++)
{
cin>>ma[i][j];
//scanf("%c",&ma[i][j]);
if(ma[i][j]=='@')
{
fi=i;
fj=j;
}
}
//getchar();
}
sum=0;
dfs(fi,fj);
cout<<sum<<endl;
//printf("%d\n",sum);
}
return 0;
}