정사각형 타일로 덮인 직사각형 방이 있습니다. 각 타일은 빨간색 또는 검은색으로 칠해져 있습니다. 한 사람이 검은색 타일 위에 서 있습니다. 그는 현재 서 있는 타일에서 상하좌우로 인접한 네 타일 중 하나로 이동할 수 있지만, 빨간색 타일로는 이동할 수 없고 오직 검은색 타일로만 이동할 수 있습니다.
이 사람이 위와 같은 이동을 반복하여 도달할 수 있는 검은색 타일의 개수를 세는 프로그램을 작성하세요.
입력은 여러 개의 데이터 세트로 이루어집니다. 각 데이터 세트는 두 양의 정수 $W$와 $H$가 주어지는 줄로 시작합니다. $W$와 $H$는 각각 $x$축과 $y$축 방향의 타일 개수이며, 둘 다 $20$ 이하입니다.
그 다음 $H$개의 줄에는 각각 $W$개의 문자가 주어지며, 각 문자는 다음과 같이 타일의 색을 나타냅니다.
. — 검은색 타일# — 빨간색 타일@ — 검은색 타일 위에 서 있는 사람 (각 데이터 세트에 정확히 한 번 등장)입력의 끝은 두 개의 $0$으로만 이루어진 줄로 표시됩니다.
각 데이터 세트마다, 사람이 처음 서 있던 타일에서 도달할 수 있는 타일의 개수(자기 자신 포함)를 한 줄에 출력하세요.