Реверсі#5243

Реверсі

2 секунди
64 мегабайти
Дуже складна

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

Щоб виграти час для вигадування свіжого й цікавого конкурсу, потрібно було чимось зайняти учнів. У цей момент йому на очі трапився набір для гри в "Реверсі". Правила цієї гри досить прості: на ігровому полі розміром 8 \times 8 два гравці по черзі розміщують по одній фішці свого кольору (звісно, на порожню клітинку). Після кожного ходу гравець знаходить найближчу фішку свого кольору у кожному з напрямків від нової фішки і, якщо між ними немає порожніх клітинок, то всі фішки противника, які стоять між ними, гравець змінює на свої. Наприклад, якщо чорні зроблять хід у клітинку (див. малюнок), то білих фішок, позначених сірим на малюнку праворуч, стануть чорними.

Хід дозволяється робити лише тоді, якщо після нього хоча б одна фішка противника буде замінена на свою (наприклад, хід у клітинки та заборонено). Мета гри — максимізувати кількість власних фішок у кінці гри, однак викладачу ніколи грати (йому ще треба вигадати конкурс). Тому він виклав на поле певну позицію (не обов'язково можливу у справжній грі) і запропонував учням підрахувати кількість позицій (також, можливо, не реальних), з яких можна одним ходом білих чи чорних отримати задану.

Допоможіть написати програму, яка обчислить відповідь на це завдання, адже час дорогий!

Вхідні дані

Вхідний файл містить рядків по символів у кожному. Символ "B" відповідає чорній фішці; "W" — білій; "." — порожній клітинці.

Вихідні дані

В єдиному рядку вихідного файлу виведіть одне ціле число — шукану кількість позицій.

Приклади

Приклад 1

Loading
Loading