Вам дана квадратная матрица размера \(n\). В каждой строке и каждом столбце этой матрицы записана перестановка чисел \(1\), \(2\), \(\ldots\), \(n\). Пусть \(a_{i, j}\) означает число на пересечении \(i\)-й строки и \(j\)-го столбца для всех \(1 \leq i, j \leq n\). Строки нумеруются \(1, \ldots, n\) сверху вниз, а столбцы нумеруются \(1, \ldots, n\) слева направо.
Мы совершаем операции шести типов:
- R: циклически сдвинуть все столбцы вправо, формально, заменить значение каждого \(a_{i, j}\) на \(a_{i, ((j - 2)\bmod n) + 1}\);
- L: циклически сдвинуть все столбцы влево, формально, заменить значение каждого \(a_{i, j}\) на \(a_{i, (j\bmod n) + 1}\);
- D: циклически сдвинуть все строки вниз, формально, заменить значение каждого \(a_{i, j}\) на \(a_{((i - 2)\bmod n) + 1, j}\);
- U: циклически сдвинуть все строки вверх, формально, заменить значение каждого \(a_{i, j}\) на \(a_{(i\bmod n) + 1, j}\);
- I: заменить перестановку, которую можно прочитать в каждой строке слева направо, на обратную;
- C: заменить перестановку, которую можно прочитать в каждом столбце сверху вниз, на обратную.
Обратной к перестановке \(p_1\), \(p_2\), \(\ldots\), \(p_n\) является перестановка \(q_1\), \(q_2\), \(\ldots\), \(q_n\), такая что \(p_{q_i} = i\) для каждого \(1 \leq i \leq n\).
Можно показать, что после любой последовательности операций любая строка и любой столбец матрицы всё ещё будет содержать перестановку чисел \(1, 2, \ldots, n\).
Вам дано описание исходной матрицы. Нужно совершить \(m\) операций и вывести получившееся состояние матрицы.