m[22][22],C;
R(x,y){
	if(m[x][y]){
		m[x][y]=0;
		C++;
		R(x-1,y);
		R(x+1,y);
		R(x,y-1);
		R(x,y+1);
	}
}
main(){
	int W,H,x,y,c,px,py;
	for(;scanf("%d%d",&W,&H),W;){
		memset(m,0,sizeof(m));
		for(y=1;y<=H;y++){
			for(x=0;x<=W;x++){
				c=getchar();
				if(c=='@')
					m[x][y]=1,px=x,py=y;
				else if(c=='.')
					m[x][y]=1;
				else if(c=='#')
					m[x][y]=0;
			}
		}
		C=0;
		R(px,py);
		printf("%d\n",C);
	}
	exit(0);
}