TopCoder

User's AC Ratio

NaN% (0/0)

Submission's AC Ratio

NaN% (0/0)

Tags

Description

Let us define a set of operations on a rectangular matrix of printable characters.

A matrix A with m rows (1-st index) and n columns (2-nd index) is given. The resulting matrix B is defined as follows.

  • Transposition by the main diagonal (operation identifier is ‘1’): Bj,i = Ai,j
  • Transposition by the second diagonal (‘2’): Bnj+1,mi+1 = Ai,j
  • Horizontal flip (‘H’): Bmi+1,j = Ai,j
  • Vertical flip (‘V’): Bi,nj+1 = Ai,j
  • Rotation by 90 (‘A’), 180 (‘B’), or 270 (‘C’) degrees clockwise; 90 degrees case: Bj,mi+1 = Ai,j
  • Rotation by 90 (‘X’), 180 (‘Y’), or 270 (‘Z’) degrees counterclockwise; 90 degrees case: Bnj+1,i = Ai,j

You are given a sequence of no more than 100 000 operations from the set. Apply the operations to the given matrix and output the resulting matrix.

Input Format

The input test file will contain multiple test cases. At the first line of the test case there are two integer
numbers — m and n (0 < m, n <= 300). Then there are m lines with n printable characters per line (we
define a printable character as a symbol with ASCII code from 33 to 126 inclusive). There will be no
additional symbols at these lines.

The next line contains the sequence operations to be performed, specified by their one-character identi-
fiers. The operations should be performed from left to right.

Output Format

For each test case, output two integer numbers, the number of rows and columns in the output matrix.
Then the output matrix must follow, in the same format as the input one.

Sample Input 1

3 4
0000
a0b0
cdef
A1

Sample Output 1

3 4
cdef
a0b0
0000

Hints

Problem Source

Migrated from old NTUJ.

Subtasks

No. Testdata Range Score

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 5000 65536 200