
#define B(a,x,b) ((a)<=(x)&&(x)<(b))

char T[999];
int x,y,cx,cy,i,c;

void R(a,b){
	if(B(0,a,x)&&B(0,b,y)&&T[b*20+a]){
		T[b*20+a]=0;i++;R(a-1,b);R(a+1,b);R(a,b-1);R(a,b+1);
	}
}

main(){
	for(;scanf("%d%d",&x,&y),x;){
		for(i=0;i<x*y;i++){
			int _x=i%x, _y=i/x;
			for(;(c=getchar())!='\n';);
			switch(c){
				case '@': cx=_x;cy=_y;
				case '.': T[_y*20+_x]=1; break;
				case '#': T[_y*20+_x]=0; break;
			}
		}
		i=0;
		R(cx,cy);
		printf("%d\n",i);
	}
	return 0;
}