#include<string.h>
#include<stdio.h>

int dx[]={1,0,-1,0};
int dy[]={0,1,0,-1};
int w,h;
char map[22][22];

int dfs(int y,int x){
	int i,res=1;
	if(map[y][x]=='#')return 0;
	map[y][x]='#';
	for(i=0;i<4;i++)
		res += dfs(y+dy[i],x+dx[i]);
	return res;
}
int main(){
	int i,j;
	int sy,sx;
	while(scanf("%d%d",&w,&h)==2&&(w|h)){
		memset(map,'#',sizeof(map));
		scanf("\n");
		for(i=1;i<=h;i++){
			for(j=1;j<=w;j++){
				scanf("%c",&map[i][j]);
				if(map[i][j]=='@'){
					sy=i;
					sx=j;
				}
			}
			scanf("%*c");
		}
		printf("%d\n",dfs(sy,sx));
	}
}