Заполнить сетку

Дана сетка размером , которую нужно полностью замостить L-образными тромино, кроме одной ячейки (r, c). Эта ячейка должна оставаться пустой.
L-образное тромино (L-shaped tromino) получается путём удаления одной ячейки из квадрата .
Если замостить сетку невозможно, программа должна вывести Impossible.
 
L-shaped tromino
L-shaped tromino

Ввод

Первая строка ввода содержит одно целое число n (1 ≤ n ≤ 9).
Вторая строка содержит координаты пустой ячейки (r, c) (1 ≤ r, c ≤ ), где r — номер строки пустой ячейки, а c — номер столбца.

Вывод

Программа должна вывести строк, каждая из которых содержит чисел, разделённых пробелом. Каждое число соответствует одному L-образному тромино. Удалённая ячейка должна быть обозначена как 0. Индексировать тромино следует от 1 до . Если существует несколько способов замостить сетку, можно вывести любой из них.

Примеры

Input
Output
2 1 1
0 1 3 3 1 1 4 3 2 4 4 5 2 2 5 5
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 10 MB

To check your solution you need to sign in
Sign in to continue