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

Дана квадратная матрица целых чисел размера $$$n \times n$$$.

Нужно будет провести $$$q$$$ операций с этой матрицей — в каждой операции даны номер строки $$$r$$$ и номер столбца $$$c$$$, которые нужно поменять местами: строка станет столбцом, а столбец — строкой. $$$k$$$-й элемент строки $$$r$$$ встаёт на $$$k$$$-е место столбца $$$c$$$, а $$$k$$$-й элемент столбца $$$c$$$ — на $$$k$$$-е место строки $$$r$$$. На месте их пересечения, в клетке $$$(r, c)$$$, остаётся меньший из элементов. Остальные элементы матрицы не меняются.

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

В первой строке входных данных содержатся два целых числа $$$q$$$ и $$$n$$$ ($$$1 \leq q, n \leq 10$$$) — количество операций и количество строк и столбцов в квадратной матрице соответственно.

В каждой из следующих $$$n$$$ строк входных данных содержится по $$$n$$$ целых чисел — описание исходной матрицы. Все элементы матрицы являются целыми положительными числами от $$$1$$$ до $$$100$$$.

В каждой из следующих $$$q$$$ строк входных данных описываются операции. Каждая строка содержит два целых числа $$$r$$$ и $$$c$$$ ($$$1 \leq r, c \leq n$$$) — номер строки и столбца соответственно.

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

Выведите $$$n$$$ строк по $$$n$$$ чисел — полученную матрицу после выполнения всех $$$q$$$ операций.

Пример

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

Примечание

На позицию $$$(2,\, 5)$$$, которая является пересечением данных строки и столбца, попадут либо $$$7$$$, либо $$$27$$$. Так как $$$7$$$ меньше, то именно $$$7$$$ остается в этой клетке.