E. Рабочая рутина
ограничение по времени на тест
2.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Василий наконец-то пришёл на работу, где его ждала гора важных поручений. У Василия есть матрица из n строк и m столбцов, а также q поручений. Каждое из поручений состоит в том, чтобы поменять местами два прямоугольника в матрице.

Для каждого поручения Василию известны числа ai, bi, ci, di, hi, wi, где, ai это номер строки верхнего левого угла первого прямоугольника запроса, а bi это номер его столбца, ci это номер строки верхнего левого угла второго прямоугольника, di — номер его столбца, а hi и wi это высота и ширина прямоугольников соответственно.

Гарантируется, что прямоугольники в одном запросе не пересекаются и не касаются, то есть никакая клетка не принадлежит сразу обоим прямоугольникам, и никакие две клетки, принадлежащие разным многоугольникам, не являются соседними по стороне. Тем не менее, прямоугольники запроса могут иметь общий угол.

Василия интересует, как будет выглядеть матрица после выполнения всех поручений.

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

В первой строке входных данных записаны три целых числа n, m и q (2 ≤ n, m ≤ 1000, 1 ≤ q ≤ 10 000) — количество строк и столбцов в матрице, а также количество поручений, которые требуется выполнить Василию.

В следующих n строках содержится по m целых чисел vi, j (1 ≤ vi, j ≤ 109) — изначальные значения ячеек в матрице.

В каждой из следующих q строк содержится по шесть целых чисел — ai, bi, ci, di, hi, wi (1 ≤ ai, ci, hi ≤ n, 1 ≤ bi, di, wi ≤ m).

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

Выведите n строк по m чисел в каждой — матрицу после всех изменений.

Примеры
Входные данные
4 4 2
1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4
1 1 3 3 2 2
3 1 1 3 2 2
Выходные данные
4 4 3 3
4 4 3 3
2 2 1 1
2 2 1 1
Входные данные
4 2 1
1 1
1 1
2 2
2 2
1 1 4 1 1 2
Выходные данные
2 2
1 1
2 2
1 1