Задачі
Кораблі
Кораблі
Напевне, кожен, хто колись вчився у школі :) , знає, що є гра, у якій двоє гравців розміщують якусть множину кораблів на аркуші паперу в клітинку і намагаються знищити кораблі один одного, відгадавши їх розміщення.
У нашій версії гри дозволено викпристовувати вам і вашому опоненту наступні сім моделей кораблів, розміщуючи їх на прямокутній сіткці у відповідних квадратах
\includegraphics{https://static.e-olymp.com/content/ca/ca5fc07f886854db706566606a4db4986b2014a3.jpg}
Кажен корабель на картинці займає рівно чотири квадрати. Кораблі можна повертати, але не можна віддзеркалювати. Гарантується, що усі кораблі буде повністю розміщено у межах заданого прямокутника, вони не перекривають один одного, а також дотикання іншого корабля чи його границі допускається.
Можете вважати, що ми знаходимось в середині гри і декілька квадратів вже розкрито. Вам будет запропоновано прямокутну сітку з інформацією про квадрати, яка задає поточне положення у грі позицій кораблів супротивника. Кожен квадратик відмічено одним з наступних символів:
\begin{itemize}
\item '\textbf{x}' якщо у вказаній клітинці знаходиться частина корабля
\item '\textbf{o}' якщо жоден корабель не знаходиться у вказаній клітинці
\item '\textbf{.}' якщо цю клітинку на даний момент не розкрито
\end{itemize}
Маючи цю інформацію, ви повинні сказати, чи можна визначити розміщення усіх інших частин кораблів ('\textbf{х}'), здійснивши при цьому не більше одного промаху, тобто, чи можете ви розкрити усі клітинки з символом '\textbf{.}', не оримавши при цьому більше однієї відповіді про промах ('\textbf{о}'), для того, щоб розкрити усі клітинки, які будуть позначені символом '\textbf{х}'. По суті це означає, що ви маєте право здійснити лише один промах ("\textbf{о}"), якщо після цього розв'язок стає унікальним.
\InputFile
Вхідний файл містить декілька ігрових ситуацій. Кожен тест починається з рядка, який містить два цілих числа \textbf{w} та \textbf{h}. Вони визначають ширину та висоту прямокутника гри, при цьому \textbf{2} ≤ \textbf{w}, \textbf{h} ≤ \textbf{16}.
Кожен з наступних \textbf{h} рядків містить рядок з \textbf{w} символів. Кожен з цих символів '\textbf{x}', '\textbf{o}' або '\textbf{.}', у залежності від стану відповідної клітинки.
Пустий рядок відокремлює кожну нову гру від попередньої. Вхідний файл завершується даними з \textbf{w = 0} та \textbf{h = 0}. Цю гру опрацьовувати не потрібно.
\OutputFile
Для кожного тесту необхідно спочатку вивести рядок, який містить номер гри (див. приклад вихідних даних), а далі рядок, який містить або '\textbf{yes.}' (якщо ви можете іизначити усі '\textbf{x}' здійснивши не більше одного промаху), або '\textbf{no.}' (якщо ви не можете визначити усі '\textbf{x}' без здійснення, по меншій мірі, двох промахів).
Між різними іграми необхідно вивести пустий рядок.
Вхідні дані #1
10 10 ........oo oooooxoooo oxooxxxo.. xxoooooo.. xoooxooo.x ooxxxxoooo oooooxxoox ooooooxoox ooooooooxx oooooooooo 0 0
Вихідні дані #1
Game #1 yes.