Задачі
Ферзі, коні та пішаки
Ферзі, коні та пішаки
Ви усі ймовірно знайомі зі знаменитою задачею про \textbf{8}-м ферзів, у якій Вас просять розмістити \textbf{8} ферзів на шаховій дошці так, що ніякі два з них не нападають один на одного. У цій задачі вам задані розміщені у деяких місцях ферзі, коні та пішаки і вам необхідно вияснити, скільки вільних клітинок на дошці не знаходяться під атакою як ферзя, так і коня (або обох). Ми будемо називати такі клітинки "безпечними" клітинками. Тут пішаки будуть грати лише роль блокіраторів і не мають можливості нападати на інші клітинки. Дошка, зображена на рисунку нижче, має \textbf{6 }безпечних клітинок (затемнені клітинки знаходяться у безпеці).
\includegraphics{https://static.e-olymp.com/content/97/9715bef2277c8df526a05d2dbd8f552804e2ad16.jpg}
Нагадаємо, що кінь може перейти з поточної позиції на довільну незайняту клітинку, яка знаходиться у пролежному куті прямокутника\textbf{ 2}х\textbf{3}, ферзь рухається до довільної клітинки, яка видима у довільному з восьми горизонтальних, вертикальних та діагональних напрямків від поточного положення. Зверніть увагу, що переміщення ферзя може бути заблоковано іншою фігурою, у то час як переміщення коня - не може.
\InputFile
Вам будет задано декілька тестів. Кожен тест селадається з \textbf{4}-х рядків. Перший рядок буде містити два цілих числа \textbf{n} та \textbf{m}, які задають розміри дошки, вказуючи кількість рядків та стовбців відповідно. Жодне число не буде перевищувати \textbf{1000}. Кожен з наступних трьох рядків буде мати вид
\textbf{k r_1 c_1 r_2 c_2 ... r_k c_k}
з вказуванням кількості та розміщення ферзів, коней та пішаків, відповідно. Нумерація рядків та стовбців починається з одиниці. Кількість кожної з фігур буде не більшою \textbf{100}. Значення \textbf{n = m = 0} вказують на завершення вхідних даних.
\OutputFile
Для кожного тесту необхідно вивести один рядок виду
\textbf{Board b has s safe squares.}
де \textbf{b} - це номер тесту (починаючи з одиниці), а також ви вказуєте правильне значення для \textbf{s}.
Вхідні дані #1
4 4 2 1 4 2 4 1 1 2 1 2 3 2 3 1 1 2 1 1 1 0 1000 1000 1 3 3 0 0 0 0
Вихідні дані #1
Board 1 has 6 safe squares. Board 2 has 0 safe squares. Board 3 has 996998 safe squares.