eolymp
bolt
Try our new interface for solving problems
Problems

Red and Black

Red and Black

Time limit 1 second
Memory limit 122 MiB

There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjacent tiles. But he can't move on red tiles, he can move only on black tiles.

Write a program to count the number of black tiles which he can reach by repeating the moves described above.

Input data

Consists of multiple data sets. A data set starts with a line containing two positive integers w and h(w, h20) - the numbers of tiles in the x- and y-directions, respectively.

There are h more lines in the data set, each of which includes **w **characters. Each character represents the color of a tile as follows.

  • '.' - a black tile

  • '\#' - a red tile

  • '@' - a man on a black tile(appears exactly once in a data set)

The end of the input is indicated by a line consisting of two zeros.

Output data

For each data set, your program should output a line which contains the number of tiles he can reach from the initial tile (including itself).

Examples

Input example #1
6 9
....#.
.....#
......
......
......
......
......
#@...#
.#..#.
11 9
.#.........
.#.#######.
.#.#.....#.
.#.#.###.#.
.#.#..@#.#.
.#.#####.#.
.#.......#.
.#########.
...........
11 6
..#..#..#..
..#..#..#..
..#..#..###
..#..#..#@.
..#..#..#..
..#..#..#..
7 7
..#.#..
..#.#..
###.###
...@...
###.###
..#.#..
..#.#..
0 0
Output example #1
45
59
6
13
Source 2004 ACM International Collegiate Programming Contest, Japan Domestic Contest, Ehime, Japan, July 2, Problem B