Дано прямокутну кімнату, вкриту квадратними плитками. Кожна плитка пофарбована або у червоний, або у чорний колір. Людина стоїть на чорній плитці. З поточної плитки вона може перейти на одну із чотирьох сусідніх (вгору, вниз, ліворуч або праворуч), але вона не може ступати на червоні плитки — можна рухатися лише по чорних плитках.
Напишіть програму, яка визначає кількість чорних плиток, яких можна досягти, здійснюючи переміщення, описані вище.
Вхідні дані складаються з декількох наборів. Кожен набір починається з рядка, який містить два додатних цілих числа та (1 \leq w, h \leq 20) — кількість плиток у напрямках та відповідно.
Далі йдуть рядків по символів кожен, що описують забарвлення плиток:
. — чорна плитка
# — червона плитка
@ — людина на чорній плитці (у кожному наборі даних символ з'являється рівно один раз)
Кінець вхідних даних позначається рядком із двох нулів.
Для кожного набору в окремому рядку виведіть кількість чорних плиток, яких може досягти людина з початкової позиції (включаючи початкову плитку).
Приклад 1