#include <stdio.h>

main(){
  int i,j,k,w,h,a[20][20],jud,c,x,y;
  char n[22];
  while(1){
    scanf("%d%d",&w,&h);
    if(w==0&&h==0) break;
    for(i=0;i<h;i++){
      scanf("%s",&n);
      for(j=0;j<w;j++){
	if(n[j]=='.') a[j][i]=1;
	else if(n[j]=='#') a[j][i]=0;
	else if(n[j]=='@') {
	  a[j][i]=2;
	  x=j;
	  y=i;
	}
      }
    }
    jud=1;
    c=1;
    for(i=0;i<500;i++){
      jud=0;
      if(a[x-1][y]==1&&x>0){
	a[x-1][y]=2;
	c++;
	x--;
	jud=1;
      }
      else if(a[x+1][y]==1&&x<w-1){
	a[x+1][y]=2;
	c++;
	x++;
	jud=1;
      }
      else if(a[x][y-1]==1&&y>0){
	a[x][y-1]=2;
	c++;
	y--;
	jud=1;
      }
      else if(a[x][y+1]==1&&y<h-1){
	a[x][y+1]=2;
        c++;
	y++;
	jud=1;
      }
      else{
	for(j=2;j<20;j++){     
	  if(a[x-1][y]==j&&x>0){
	    a[x-1][y]++;	   
	    x--;
	    jud=1;
	    break;
	  }
	  else if(a[x+1][y]==j&&x<w-1){
	    a[x+1][y]++;
	    x++;
	    jud=1;
	    break;
	  }
	  else if(a[x][y-1]==j&&y>0){
	    a[x][y-1]++;	    
	    y--;
	    jud=1;
	    break;
	  }
	  else if(a[x][y+1]==j&&y<h-1){
	    a[x][y+1]++;	  
	    y++;
	    jud=1;
	    break;
	  }
	}
      }
      if(jud==0) break;
    }
    printf("%d\n",c);
  }
  return 0;
}