Hexodoku
Судоку — это увлекательная игра, которая приносит удовольствие многим людям. Говорят, что легендарный программист потратил всего 7 минут на создание программы для решения стандартного судоку. Это впечатляет, не так ли? Теперь он взялся за другую задачу. Сможете ли вы справиться с ней?
Рассмотрим нестандартное шестиугольное поле Судоку:
Ячейки пронумерованы от 1 до 31.
Согласно правилам, числа (от 1 до K) могут быть размещены в ячейках так, чтобы все числа в одном и том же рядке (рядки расположены в трёх направлениях) были различными.
Кроме того, для каждой из отмеченных ячеек число в этой ячейке и все числа в соседних ячейках также должны быть различными.
Все числа должны быть различными
Некоторые числа могут уже быть размещены в ячейках согласно правилам. Вам нужно найти N^{-е} решение в лексикографическом порядке, если оно существует.
Пусть A_i — это число в ячейке i в решении A, и B_i — число в ячейке i в решении B. Решение A лексикографически меньше решения B, если существует такое j, что для каждого i, где i < j: A_i = B_i и A_j < B_j.
Входные данные
Первая строка ввода содержит два целых числа K и N.
7 ≤ K ≤ 31
1 ≤ N ≤ 100000
Вторая строка содержит 31 целое число: A_i (1 ≤ i ≤ 31) — это число, стоящее в ячейке i.
1 ≤ A_i ≤ K, или 0, если в этой ячейке нет числа.
Выходные данные
Первая строка вывода должна содержать ответ:
"Found" — если решение найдено.
"No way" — если N-го решения не существует.
Если решение найдено, вторая строка вывода должна содержать N^{-е} решение в том же формате, что и во входных данных.
Это первый пример выше: