B. Минимумы матриц
ограничение по времени на тест
1.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Фермер Джон узнал от Элси, что любимое число Бесси — $$$k$$$, и поэтому хочет удивить её подарком, сделанным своими руками.

Для двумерной матрицы $$$B$$$ обозначим через $$$f(B)$$$ множество минимумов всех строк и всех столбцов матрицы $$$B$$$.

Фермер Джон просит вас предъявить квадратную матрицу размера $$$n \times n$$$, обозначенную $$$A$$$, содержащую каждое число от $$$1$$$ до $$$n^2$$$ ровно один раз, такую, что $$$|f(A)| = k$$$, либо сообщить, что это невозможно.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

В первой строке каждого набора входных данных содержатся два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 1000, 0 \le k \le 2n$$$) — размер матрицы и требуемое значение $$$|f(A)|$$$.

Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$1000$$$.

Выходные данные

Если такой матрицы не существует, выведите $$$-1$$$. В противном случае выведите $$$n$$$ строк по $$$n$$$ целых чисел в каждой — матрицу размера $$$n \times n$$$, удовлетворяющую условиям задачи.

Если существует несколько решений, можно вывести любое из них.

Пример
Входные данные
5
3 0
3 5
5 5
4 3
1 1
Выходные данные
-1
8 5 9
6 3 7
2 1 4
16 14 17 15 3
25 22 5 23 24
8 1 9 6 7
4 18 21 19 20
12 10 13 2 11
-1
1 
Примечание

В первом наборе входных данных можно заметить, что невозможно построить такую матрицу размера $$$3 \times 3$$$, для которой $$$f(A)$$$ пусто.

Во второй наборе входных данных минимумы строк равны $$$[5, 3, 1]$$$ соответственно, а минимумы столбцов равны $$$[2, 1, 4]$$$ соответственно. Следовательно, $$$f(A) = \{1, 2, 3, 4, 5\}$$$, поэтому требуемое равенство $$$|f(A)| = 5$$$ выполняется.