配点 : 500 点
問題文
縦 H 行,横 W 列のグリッドがあります.はじめ,上から i 行目,左から j 列目のマスには英小文字 Ai,j が書かれています.
このグリッドに対して Q 回の操作を行います.i 回目の操作では,1≤ai≤H−1, 1≤bi≤W−1 を満たす整数 ai,bi が与えられ,次を行います.
- グリッド内の長方形領域 R1,R2,R3,R4 を次で定める:- 上から ai 行,左から bi 列の部分を R1 とする.
- 上から ai 行,右から W−bi 列の部分を R2 とする.
- 下から H−ai 行,左から bi 列の部分を R3 とする.
- 下から H−ai 行,右から W−bi 列の部分を R4 とする.
- 上から ai 行,左から bi 列の部分を R1 とする.
- 上から ai 行,右から W−bi 列の部分を R2 とする.
- 下から H−ai 行,左から bi 列の部分を R3 とする.
- 下から H−ai 行,右から W−bi 列の部分を R4 とする.
- R1,R2,R3,R4 のそれぞれを 180 度回転する.
ただし,グリッド内の長方形領域 R の 180 度回転とは,R において上から i 番目,左から j 番目のマスに書かれた文字を,R において 下から i 番目,右から j 番目のマスに移すことをいいます.入出力例の図も参考にしてください.
Q 回すべての操作を行ったとき,操作後のグリッドの状態を出力してください.
制約
- 2≤H,W かつ HW≤5×105
- Ai,j は英小文字
- 1≤Q≤2×105
- 1≤ai≤H−1
- 1≤bi≤W−1
入力
入力は以下の形式で標準入力から与えられます.
H W
A1,1⋯A1,W
⋮
AH,1⋯AH,W
Q
a1 b1
⋮
aQ bQ
出力
操作後のマス (i,j) に書かれている文字を Bi,j とするとき,操作後のグリッドの状態を,次の形式で出力してください.
B1,1⋯B1,W
⋮
BH,1⋯BH,W
4 5
abcde
fghij
klmno
pqrst
1
3 3
mlkon
hgfji
cbaed
rqpts
グリッドの状態は次の図のように変化します.
3 7
atcoder
regular
contest
2
1 1
2 5
testcon
oderatc
ularreg
グリッドの状態は次の図のように変化します.
2 2
ac
wa
3
1 1
1 1
1 1
ac
wa
グリッドの状態は次の図のように変化します.