Червоне і чорне#7024

Червоне і чорне

1 секунда
122,174 мегабайта
Легка

Дано прямокутну кімнату, вкриту квадратними плитками. Кожна плитка пофарбована або у червоний, або у чорний колір. Людина стоїть на чорній плитці. З поточної плитки вона може перейти на одну із чотирьох сусідніх (вгору, вниз, ліворуч або праворуч), але вона не може ступати на червоні плитки — можна рухатися лише по чорних плитках.

Напишіть програму, яка визначає кількість чорних плиток, яких можна досягти, здійснюючи переміщення, описані вище.

Вхідні дані

Вхідні дані складаються з декількох наборів. Кожен набір починається з рядка, який містить два додатних цілих числа та (1 \leq w, h \leq 20) — кількість плиток у напрямках та відповідно.

Далі йдуть рядків по символів кожен, що описують забарвлення плиток:

  • . — чорна плитка

  • # — червона плитка

  • @ — людина на чорній плитці (у кожному наборі даних символ з'являється рівно один раз)

Кінець вхідних даних позначається рядком із двох нулів.

Вихідні дані

Для кожного набору в окремому рядку виведіть кількість чорних плиток, яких може досягти людина з початкової позиції (включаючи початкову плитку).

Приклади

Приклад 1

Loading
Loading