#include <stdio.h>
#include <memory.h>

char map[21][21];
int sum;
void snake(int x,int y){
    if(map[y][x+1] == '.'){
        sum++;
        map[y][x+1]=0;
        snake(x+1,y);
    }
    if(map[y+1][x] == '.'){
        sum++;
        map[y+1][x]=0;
        snake(x,y+1);
    }
    if(x != 0){
    if(map[y][x-1] == '.'){
        sum++;
        map[y][x-1]=0;
        snake(x-1,y);
    }
    }
    if(y != 0){
    if(map[y-1][x] == '.'){
        sum++;
        map[y-1][x]=0;
        snake(x,y-1);
    }
    }
}

int main(void){
    int w,h,start[2],i,o,sign;
    for(;scanf("%d %d",&w,&h),h;){
        memset(map,0,sizeof(map));
        sum=0;
        sign=0;
        for(i=0;i<h;i++){
            scanf("%s",map[i]);
            if(sign == 0){
                for(o=0;o<w;o++)
                    if(map[i][o] == '@'){
                        sign=1;
                        start[0]=o;
                        start[1]=i;
                    }
            }
        }
        snake(start[0],start[1]);
        printf("%d\n",sum+1);
    }
    return 0;
}