Codeforces Round 234 (Div. 2) |
---|
Закончено |
Инна и Дима решили удивить Сережу и принесли воистину гигантскую матрицу конфет, большую даже для Сережи! Для удобства пронумеруем строки гигантской матрицы от 1 до n сверху вниз, а столбцы — от 1 до m слева направо. Ячейку на пересечении i-й строки и j-го столбца будем обозначать (i, j). Как и полагается, в некоторых ячейках гигантской матрицы конфет лежат конфеты. Всего в матрице p конфет: k-я конфета лежит в ячейке (xk, yk).
Время подходило к обеду, и Инна уже собиралась скушать p своих любимых сладостей из матрицы, как вдруг Сережа (по лишь ему одному известной причине) x раз повернул матрицу по часовой стрелке на 90 градусов, затем y раз выполнил горизонтальный поворот матрицы, а затем z раз повернул матрицу против часовой стрелки на 90 градусов. На рисунке ниже показано, как именно происходят повороты матрицы.
Инна очень сильно расстроилась, но тут Дима понял две вещи: конфеты не пострадали, и он помнит, в каких ячейках лежали любимые сладости Инны до странных действий Сережи. Помогите ребятам отыскать новые координаты в матрице конфет после преобразований, сделанных Сережей!
Первая строка входных данных содержит шесть целых чисел n, m, x, y, z, p (1 ≤ n, m ≤ 109; 0 ≤ x, y, z ≤ 109; 1 ≤ p ≤ 105).
Каждая из следующих p строк содержит по два целых числа xk, yk (1 ≤ xk ≤ n; 1 ≤ yk ≤ m) — изначальные координаты k-й конфеты. Две конфеты могут лежать в одной и той же ячейке.
Для каждой из p сладостей в отдельной строке через пробел выведите ее новые координаты.
3 3 3 1 1 9
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
1 3
1 2
1 1
2 3
2 2
2 1
3 3
3 2
3 1
Горизонтальный поворот — это отражение матрицы вдоль вертикальной оси. Чтобы лучше понять, что такое горизонтальный поворот, посмотрите на пример для матрицы:
QWER REWQ
ASDF -> FDSA
ZXCV VCXZ
Название |
---|