#include<stdio.h>

void move(int,int);
int count=0,w,h;
char Map[20][22];
int main()
{
  int i,j,ii,jj,n=0;
  while(1){
    scanf("%d%d",&w,&h);
    if(w==0&&h==0)break;
    for(i=0;i<h;i++){
      scanf("%s",Map[i]);
    }
    
    for(i=0;i<h;i++){
      for(j=0;j<w;j++){
        if(Map[i][j]=='@'){
          ii=i;
	  jj=j;
	}
      }
    }
    move(ii,jj);
    printf("%d\n",count);
    count=0;
  }
  return 0;
}

void move(int hh,int ww)
{
  if(hh<0||ww<0||ww>w||hh>h||Map[hh][ww]=='#')return;
  Map[hh][ww]='#';
  count++;
  if(Map[hh-1][ww]=='.')move(hh-1,ww); 
  if(Map[hh+1][ww]=='.')move(hh+1,ww);
  if(Map[hh][ww-1]=='.')move(hh,ww-1); 
  if(Map[hh][ww+1]=='.')move(hh,ww+1);
}