Судоку — це захоплююча гра, яка приносить задоволення багатьом людям. Існує легенда, що видатний програміст витратив лише хвилин на створення програми для розв'язання стандартного судоку. Це вражає, чи не так? Тепер він вирішив іншу задачу. Чи зможете ви повторити його успіх?
Розгляньте нестандартну шестикутну дошку Судоку:

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

Крім того, для кожної з позначених клітин число в цій клітині та всі числа в сусідніх клітинах також повинні бути різними.

Числа повинні бути різними

Деякі числа можуть вже бути розміщені в клітинах згідно з правилами. Вам потрібно знайти -те розв'язання в лексикографічному порядку, якщо воно існує.
Нехай A_i — це число в клітині в розв'язанні , а B_i — число в клітині в розв'язанні . Розв'язання є лексикографічно меншим за розв'язання , якщо існує таке , що для кожного , де i < j: A_i = B_i і A_j < B_j.
Перша строка вхідних даних містить два цілі числа та .
7 \le K \le 31
1 \le N \le 100000
Друга строка містить ціле число: A_i (1 \le i \le 31) — це число, що стоїть у клітині .
1 \le A_i \le K, або , якщо в цій клітині немає числа.
Перша строка вихідних даних повинна містити відповідь:
"Found" — якщо розв'язання знайдено.
"No way" — якщо немає -го розв'язання.
Якщо розв'язання знайдено, друга строка вихідних даних повинна містити -те розв'язання у тому ж форматі, що й у вхідних даних.
Це перший приклад вище:

Приклад 1