#include <stdio.h>

void run(int a[][25],int b[][25],int x,int y,int w,int h){
	if(x-1>=0&&b[x-1][y]==0&&a[x-1][y]==1){
		b[x-1][y]=1;
		run(a,b,x-1,y,w,h);
	}
	if(y-1>=0&&b[x][y-1]==0&&a[x][y-1]==1){
		b[x][y-1]=1;
		run(a,b,x,y-1,w,h);
	}
	if(x+1<=w-1&&b[x+1][y]==0&&a[x+1][y]==1){
		b[x+1][y]=1;
		run(a,b,x+1,y,w,h);
	}
	if(y+1<=h-1&&b[x][y+1]==0&&a[x][y+1]==1){
		b[x][y+1]=1;
		run(a,b,x,y+1,w,h);
	}
}

int get_ans(int b[][25],int w,int h){
	int i,j;
	int ans=0;
	for(i=0;i<w;i++){
		for(j=0;j<h;j++){
			if(b[i][j]==1)ans+=1;
		}
	}
	return ans;
}

int main(){
	int a[25][25];		//?????????1,?????????-1,?????¨??°???0
	int b[25][25];	//??°?????????????????????true
	int w,h;
	char c;
	int x,y;	//?????£???????????§?¨?
	int i,j,k,l;
	int ans;

	while(1){
		scanf("%d %d",&w,&h);
		scanf("%c",&c);
		if(w==0&&h==0)break;
		for(j=0; j<h; j++){
			for(i=0; i<w; i++){
				b[i][j]=0;
				scanf("%c",&c);
				if(c=='.')a[i][j]=1;
				if(c=='#')a[i][j]=-1;
				if(c=='@'){
					a[i][j]=0;
					x=i;
					y=j;
					b[x][y]=1;
				}
			}
			scanf("%c",&c);
		}
		// for(i=0; i<h; i++){
		// 	for(j=0; j<w; j++){
		// 		printf("%d ",a[j][i]);
		// 	}
		// 	printf("\n");
		// }
		// printf("\n\n");
		// for(i=0; i<h; i++){
		// 	for(j=0; j<w; j++){
		// 		printf("%d ",b[j][i]);
		// 	}
		// 	printf("\n");
		// }
		run(a,b,x,y,w,h);
		printf("%d\n",get_ans(b,w,h));
	}
	return 0;
}