#include<stdio.h>
#define rep(i,n) for(int i=0;(i)<(n);(i)++)
int w,h;
int dx[4]={1,-1,0,0};
int dy[4]={0,0,-1,1};
int used[20][20];
char c[20][22];
int cnt;
void dfs(int sy,int sx){
    used[sy][sx]=1; cnt++;
    for(int d=0;d<4;d++){
        int ny=sy+dy[d],nx=sx+dx[d];
        if(c[ny][nx]=='#') continue;
        if(ny<0||ny>=h||nx<0||nx>=w) continue;
        if(used[ny][nx]==1) continue;
        dfs(ny,nx);
    }
}
int main(void){
    while(1){
        scanf("%d%d",&w,&h);
        if(w+h==0) break;
        getchar();
        rep(i,h) fgets(c[i],22,stdin);
        int starty,startx;
        rep(i,h){
            rep(j,w){
                if(c[i][j]=='@'){
                    starty=i,startx=j;
                }
                used[i][j]=0;
            }
        }
        cnt=0;
        dfs(starty,startx);
        printf("%d\n",cnt);
    }
}

