#include<stdio.h> int dir[4][2]= {{-1,0},{1,0},{0,-1},{0,1}}; char jk[25]; int flag[25][25]; int num; void dfs(int x,int y) { int i,j,xx,yy; for(i=0; i<4; i++) for(j=0; j<4; j++) { xx=x+dir[i][0]; yy=y+dir[i][1]; if(flag[xx][yy]==0) { num++; flag[xx][yy]=1; dfs(xx,yy); } } } int main() { // freopen("input.txt","r",stdin); int i,j,x,y,w,h; while(scanf("%d %d",&w,&h)!=EOF) { num=1; if(w<=0||h<=0) break; for (i=0; i<22; ++i) { for (j=0; j<22; ++j) { flag[i][j] = 1; } } for(i=1; i<=h; i++) { scanf("%s",jk); for(j=1; j<=w; j++) { if(jk[j-1]=='.') flag[i][j]=0; else if(jk[j-1]=='@') { x=i; y=j; } } } dfs(x,y); printf("%d\n",num); } return 0; }