Dima and table
Dima and table
Мама подарила мальчику Диме таблицу размера m×n. Таблица эта не простая, а особенная. Дима может выбрать три числа — i, j и d (1 ≤ i ≤ n, 1 ≤ j ≤ m, -1000 ≤ d ≤ 1000), и элемент с индексом (i, j) магически становится равным d. Дима играет со своим массивом, а мама время от времени задает ему вопросы — какой максимальный элемент, индексы которого удовлетворяют неравенствам fromrow ≤ row ≤ torow и fromcolumn ≤ column ≤ tocolumn? Дима легко справился с этими вопросами, сможете ли вы?
Входные данные
В первой строке находятся три целых числа n, m и q (1 ≤ n, m ≤ 1000, 1 ≤ q ≤ 105) — количество строк и столбцов в таблице и суммарное количество операций и запросов соответственно. В следующих n строках дано по m чисел по модулю не более 1000 — начальное состояние таблицы. В следующих q строках заданы операции и запросы. Первый символ в строке может быть = или ?. Если строка начинается с =, то это операция присваивания. Далее следуют i, j и d, ограничения на которые описаны в условии. Если строка начинается с ?, то это запрос. Далее следуют числа fromrow, torow, fromcolumn и tocolumn (1 ≤ fromrow ≤ torow ≤ n, 1 ≤ fromcolumn ≤ tocolumn ≤ n).
Выходные данные
Ответы на запросы по одному в строке.
3 3 5 1 2 3 4 5 6 7 8 9 ? 1 3 1 3 = 3 3 2 ? 1 3 1 3 ? 1 3 3 3 ? 1 2 1 2
9 8 6 5