Задача №955. Преобрзование матрицы

Введем следующие операции надо прямоугольной таблицей символов. Пусть нам дана матрица \(А\), состоящая из \(m\) строк (первый индекс) и \(n\) столбцов (второй индекс). Определим результирующую матрицу \(В\) для каждой из операций следующим образом:

  • Транспозиция относительно главной диагонали (код операции '1'): \(B_{j,i}=A_{i,j}\)
  • Транспозиция относительно другой диагонали (код операции '2'): \(B_{n-j+1,m-i+1}=A_{i,j}\)
  • Горизонтальное отражение (код операции 'H'): \(B_{m-i+1,j}=A_{i,j}\)
  • Горизонтальное отражение (код операции 'V'): \(B_{i,n-j+1}=A_{i,j}\)
  • Поворот на 90 ('A'), 180 ('B'), или 270 ('C') градусов по часовой стрелке: \(B_{j,m-i+1}=A_{i,j}\) (для \(90^{\circ}\))
  • Поворот на 90 ('X'), 180 ('Y'), или 270 ('Z') градусов против часовой стрелки: \(B_{n-j+1,i}=A_{i,j}\) (для \(90^{\circ}\))
Вам дана последовательность не более \(100000\) операций над исходной матрицей. Выведите полученную в результате этих операций матрицу.

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

В первой строке входных данных находятся значения \(m\) и \(n\) (\(0 < m, n \leq 300\)). В каждой из следующих \(m\) строк находятся по \(n\) печатных символов (т.е. не используются символы с кодами от 33 до 126).

Последняя строка содержит описание операций, которые были выполнены над этой матрицей, путем записи без пробелов из кодов. Операции выполняются по порядку слева направо.

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

Выведите сначала два целых числа \(-\) число строк и столбцов в результирующей матрице. Затем выведите саму матрицу в том же формате, что и во входных данных.

Примеры
Входные данные
3 4
{uf=
v-fn
("C%
1
Выходные данные
4 3
{v(
u-"
ffC
=n%
Сдать: для сдачи задач необходимо войти в систему