Нео наконец понял, как устроена Матрица.
Матрица — это квадратная таблица размера n × n, в каждой из ячеек которой находится 0 или 1, при этом должны выполняться следующие ограничения:
Матрица последовательно принимает все свои допустимые значения (то есть значения, при которых ограничения выполняются) в следующем порядке. Определим состояние Матрицы как последовательность из n2 элементов, полученную последовательным выписыванием всех строк Матрицы друг за другом (a1, 1, ..., a1, n, a2, 1, ..., an, n). Все состояния Матрицы, соответствующие допустимым значениям, упорядочиваются лексикографически и в момент времени t Матрица принимает значение, соответствующее t-му в получившемся списке состоянию.
Нео научился восстанавливать Матрицу в любой момент времени. А вы так сможете?
В первой строке находятся четыре целых числа n, a, b и q (1 ≤ n ≤ 10, 1 ≤ a ≤ b ≤ n, 1 ≤ q ≤ 1000). В i-ой из последующих q строк находится число ti — интересующий момент времени (1 ≤ ti ≤ 1018).
Для i-го запроса из входных данных выведите n строк по n символов в каждой — значение Матрицы в ti-й момент времени. Если допустимых состояний Матрицы меньше, чем ti, то выведите «No such matrix.» без кавычек. Ответы на запросы разделяйте переводом строки. Смотрите пример для более точного понимания.
3 2 3 5
1
2
16
34
35
011
011
101
011
011
110
101
111
101
111
111
111
No such matrix.
| Название |
|---|


