eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

2D-переворот

2D-переворот

Матриця \textbf{A} містить \textbf{N} рядків, пронумерованих від \textbf{1} до \textbf{N}, та \textbf{M} стовбців, пронумерованих від \textbf{1} до \textbf{M}. Спочатку елемент у рядку \textbf{i} та стовбці \textbf{j} дорівнює \textbf{A_\{i,j\} = (i - 1) · M + j - 1}. Дехто здійснив декілька перетворень матриці. Кожним перетворенням було або горизонтальне її перетворення, або вертикальне. Перетворення задається чотирма цілими числами \textbf{X_1}, \textbf{Y_1}, \textbf{X_2} і \textbf{Y_2} такими, що \textbf{1 }≤ \textbf{X_1} ≤ \textbf{X_2} ≤ \textbf{N} і \textbf{1} ≤ \textbf{Y_1} ≤ \textbf{Y_2} ≤ \textbf{M}. Після горизонтального перетворення елемент у рядку \textbf{i} та стовбці \textbf{j} стає рівним \textbf{A^\{'\}_\{i,j\} = A_\{i,Y2-j+Y1\}} якщо \textbf{X_1} ≤ \textbf{i} ≤ \textbf{X_2} і \textbf{Y_1} ≤ \textbf{j }≤ \textbf{Y_2}, інакше він залишається попереднім (\textbf{A^\{'\}_\{i,j\} = A_\{i,j\}}). Після вертикального перетворення елемент у рядку \textbf{i} та стовбці \textbf{j} стає рівним \textbf{A^\{'\}_\{i,j\} = A_\{X2-i+X1,j\}} якщо \textbf{X_1} ≤ \textbf{i} ≤ \textbf{X_2} і \textbf{Y_1} ≤ \textbf{j} ≤ \textbf{Y_2}, інакше він залишається попереднім (\textbf{A^\{'\}_\{i,j\} = A_\{i,j\}}). Нижче наведено приклад виконання спочатку горизонтального перетворення, а потім вертикального. \includegraphics{https://static.e-olymp.com/content/37/37a4820bebade9fc28e51290070e197b0b9ce3cf.jpg} За заданими \textbf{N}, \textbf{M} та послідовності перетворень знайти результуючу матрицю. \InputFile Перший рядок містить цілі числа \textbf{N} та \textbf{M }(\textbf{1 }≤ \textbf{N}, \textbf{M }≤ \textbf{2000}). Наступний рядок містить кількість операцій \textbf{K }(\textbf{1 }≤ \textbf{K }≤ \textbf{2000}). Кожен з наступних \textbf{K} рядків описує одну операцію. Перший символ рядка вказує на тип операції ('\textbf{H}' у випадку горизонтального перетворення та '\textbf{V}' у випадку вертикального), після якого йде чотири цілих числа \textbf{X_1}, \textbf{Y_1}, \textbf{X_2} та \textbf{Y_2}, описує обрану прямокутну область. Операції задаються у порядку їх виконання. \OutputFile У першому рядку вивести \textbf{N} цілих чисел, відокремлених пропуском: вони відповідають сумі елементів першого, другого, ..., \textbf{N}-го рядка матриці, отриманої після виконання усіх операцій. Аналогічно другий рядок повинен містити \textbf{M} відокремлених пропуском цілих чисел: суми елементів первого, другого, ..., \textbf{M}-го стовбця результуючої матриці.
Ліміт часу 5 секунд
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
5 6
2
H 2 2 4 5
V 1 3 5 5
Вихідні дані #1
87 87 87 87 87
60 74 73 72 71 85