D. Переставьте
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Коала Коа имеет матрицу $$$A$$$ из $$$n$$$ строк и $$$m$$$ столбцов. Элементы этой матрицы — различные целые числа от $$$1$$$ до $$$n \cdot m$$$ (каждое число от $$$1$$$ до $$$n \cdot m$$$ встречается в матрице ровно один раз).

Для любой матрицы $$$M$$$ из $$$n$$$ строк и $$$m$$$ столбцов определим следующее:

  • $$$i$$$-я строка $$$M$$$ определяется как $$$R_i(M) = [ M_{i1}, M_{i2}, \ldots, M_{im} ]$$$ для всех $$$i$$$ ($$$1 \le i \le n$$$).
  • $$$j$$$-й столбец $$$M$$$ определяется как $$$C_j(M) = [ M_{1j}, M_{2j}, \ldots, M_{nj} ]$$$ для всех $$$j$$$ ($$$1 \le j \le m$$$).

Коа определяет $$$S(A) = (X, Y)$$$ как спектр $$$A$$$, где $$$X$$$  — множество максимумов в строках $$$A$$$, а $$$Y$$$ — множество максимумов в столбцах $$$A$$$ соответственно.

Более формально:

  • $$$X = \{ \max(R_1(A)), \max(R_2(A)), \ldots, \max(R_n(A)) \}$$$
  • $$$Y = \{ \max(C_1(A)), \max(C_2(A)), \ldots, \max(C_m(A)) \}$$$

Коа просит вас найти некоторую матрицу $$$A'$$$ из $$$n$$$ строк и $$$m$$$ столбцов такую, чтобы каждое число от $$$1$$$ до $$$n \cdot m$$$ встречалось в матрице ровно один раз, и выполнялись следующие условия:

  • $$$S(A') = S(A)$$$
  • $$$R_i(A')$$$ является битоническим для всех $$$i$$$ ($$$1 \le i \le n$$$)
  • $$$C_j(A')$$$ является битоническим для всех $$$j$$$ ($$$1 \le j \le m$$$).
Массив $$$t$$$ ($$$t_1, t_2, \ldots, t_k$$$) называется битоническим, если он сначала возрастает, а затем спадает.

Более формально: $$$t$$$ является битоническим, если существует некоторая позиция $$$p$$$ ($$$1 \le p \le k$$$) такая, что: $$$t_1 < t_2 < \ldots < t_p > t_{p+1} > \ldots > t_k$$$.

Помогите Коа найти такую матрицу, или определить, что ее не существует.

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

Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n, m \le 250$$$)  — количества строк и столбцов в $$$A$$$.

Каждая из следующих $$$n$$$ строк содержит $$$m$$$ целых чисел. $$$j$$$-е целое число в $$$i$$$-й строке обозначает элемент $$$A_{ij}$$$ ($$$1 \le A_{ij} \le n \cdot m$$$) матрицы $$$A$$$. Гарантируется, что каждое число от $$$1$$$ до $$$n \cdot m$$$ встречается ровно один раз среди элементов матрицы.

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

Если такой матрицы не существует, в отдельной строке выведите $$$-1$$$.

В противном случае вы должны вывести $$$n$$$ строк, каждая из которых должная состоять из $$$m$$$ целых чисел, разделенных пробелом  — описание $$$A'$$$.

$$$j$$$-е число в $$$i$$$-й строке обозначает элемент $$$A'_{ij}$$$.

Каждое число от $$$1$$$ до $$$n \cdot m$$$ должно встречаться в $$$A'$$$ ровно один раз, каждая строка и столбец в $$$A'$$$ должны быть битоническими и должно выполняться $$$S(A) = S(A')$$$.

Если ответов несколько, выведите любой.

Примеры
Входные данные
3 3
3 5 6
1 7 9
4 8 2
Выходные данные
9 5 1
7 8 2
3 6 4
Входные данные
2 2
4 1
3 2
Выходные данные
4 1
3 2
Входные данные
3 4
12 10 8 6
3 4 5 7
2 11 9 1
Выходные данные
12 8 6 1
10 11 9 2
3 4 5 7
Примечание

Проанализируем первый пример:

Для матрицы $$$A$$$:

    • Строки:
      • $$$R_1(A) = [3, 5, 6]; \max(R_1(A)) = 6$$$
      • $$$R_2(A) = [1, 7, 9]; \max(R_2(A)) = 9$$$
      • $$$R_3(A) = [4, 8, 2]; \max(R_3(A)) = 8$$$

    • Столбцы:
      • $$$C_1(A) = [3, 1, 4]; \max(C_1(A)) = 4$$$
      • $$$C_2(A) = [5, 7, 8]; \max(C_2(A)) = 8$$$
      • $$$C_3(A) = [6, 9, 2]; \max(C_3(A)) = 9$$$

  • $$$X = \{ \max(R_1(A)), \max(R_2(A)), \max(R_3(A)) \} = \{ 6, 9, 8 \}$$$
  • $$$Y = \{ \max(C_1(A)), \max(C_2(A)), \max(C_3(A)) \} = \{ 4, 8, 9 \}$$$
  • Поэтому $$$S(A) = (X, Y) = (\{ 6, 9, 8 \}, \{ 4, 8, 9 \})$$$

Для матрицы $$$A'$$$:

    • Строки:
      • $$$R_1(A') = [9, 5, 1]; \max(R_1(A')) = 9$$$
      • $$$R_2(A') = [7, 8, 2]; \max(R_2(A')) = 8$$$
      • $$$R_3(A') = [3, 6, 4]; \max(R_3(A')) = 6$$$

    • Столбцы:
      • $$$C_1(A') = [9, 7, 3]; \max(C_1(A')) = 9$$$
      • $$$C_2(A') = [5, 8, 6]; \max(C_2(A')) = 8$$$
      • $$$C_3(A') = [1, 2, 4]; \max(C_3(A')) = 4$$$

  • Заметим, что каждый из этих массивов является битоническим.
  • $$$X = \{ \max(R_1(A')), \max(R_2(A')), \max(R_3(A')) \} = \{ 9, 8, 6 \}$$$
  • $$$Y = \{ \max(C_1(A')), \max(C_2(A')), \max(C_3(A')) \} = \{ 9, 8, 4 \}$$$
  • Поэтому $$$S(A') = (X, Y) = (\{ 9, 8, 6 \}, \{ 9, 8, 4 \})$$$