Вам дана таблица размера $$$n \times m$$$. Строки пронумерованы от $$$1$$$ до $$$n$$$ сверху вниз, а столбцы — от $$$1$$$ до $$$m$$$ слева направо. Две клетки называются соседними, если у них есть общая сторона.
В таблице сделаны $$$h$$$ горизонтальных и $$$v$$$ вертикальных разрезов. $$$i$$$-й горизонтальный разрез проходит между строками $$$r_i$$$ и $$$r_i + 1$$$, а $$$j$$$-й вертикальный разрез — между столбцами $$$c_j$$$ и $$$c_j + 1$$$; каждый разрез проходит через всю таблицу. Вместе с границами таблицы разрезы делят её на $$$(h + 1) \cdot (v + 1)$$$ прямоугольных частей.
Вам нужно записать в каждую клетку таблицы положительное целое число так, чтобы выполнялись оба следующих условия:
Найдите любой способ заполнить таблицу, удовлетворяющий этим условиям, или определите, что это невозможно.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
В первой строке каждого набора входных данных находятся четыре целых числа $$$n$$$, $$$m$$$, $$$h$$$ и $$$v$$$ ($$$1 \le n, m \le 1000$$$, $$$0 \le h \lt n$$$, $$$0 \le v \lt m$$$) — количество строк таблицы, количество столбцов таблицы, количество горизонтальных разрезов и количество вертикальных разрезов.
В следующей строке находятся $$$h$$$ целых чисел $$$r_1, r_2, \ldots, r_h$$$ ($$$1 \le r_1 \lt r_2 \lt \ldots \lt r_h \lt n$$$) — положения горизонтальных разрезов. Если $$$h = 0$$$, эта строка отсутствует.
В следующей строке находятся $$$v$$$ целых чисел $$$c_1, c_2, \ldots, c_v$$$ ($$$1 \le c_1 \lt c_2 \lt \ldots \lt c_v \lt m$$$) — положения вертикальных разрезов. Если $$$v = 0$$$, эта строка отсутствует.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$1000$$$.
Гарантируется, что сумма значений $$$m$$$ по всем наборам входных данных не превосходит $$$1000$$$.
Для каждого набора входных данных, если подходящего способа заполнить таблицу не существует, выведите $$$-1$$$.
Иначе выведите $$$n$$$ строк. В $$$i$$$-й из этих строк должны находиться $$$m$$$ целых чисел — числа, записанные в клетках $$$i$$$-й строки таблицы, слева направо.
Если существует несколько подходящих способов заполнить таблицу, выведите любой из них.
43 3 0 01 6 0 21 35 5 2 22 32 34 4 2 21 21 2
1 2 34 5 67 8 91 2 1 2 1 31 2 1 2 13 4 2 3 41 2 1 2 13 4 2 3 41 2 1 2 1-1
В первом примере один из возможных способов заполнить таблицу показан ниже:
В третьем примере пунктирные линии обозначают разрезы. Один из возможных способов заполнить таблицу показан ниже:
В четвёртом примере можно показать, что подходящего заполнения не существует.