#include <stdio.h>

char s[21][21];
int count, h, w;
int dx[] = { 0,0,1,-1 };
int dy[] = { 1,-1,0,0 };

void dfs(int x, int y) {
	count++;
	s[y][x] = '#';
	int i;
	for(i = 0; i<4; i++){
		int nx = x + dx[i];
		int ny = y + dy[i];

		if (nx >= 0 && nx < w && ny >= 0 && ny < h && s[ny][nx] == '.') {
			dfs(nx, ny);
		}
	}
}

int main(void){
	while(0){
		scanf("%d %d", &w, &h);

		if(!w && !h){	
			break;
		}
		count = 0;
		int i;
		for(i = 0; i < h; i++){
			scanf("%s", s[i]);
		}

		for(i = 0; i<h; i++){
			for(int j = 0; j<w; j++){
				if(s[i][j] == '@'){
					dfs(j, i);
				}
			}
		}
		printf("%d\n",count);
	}
	return 0;
}