#arc153b. [arc153_b]Grid Rotations

[arc153_b]Grid Rotations

問題文

HH 行,横 WW 列のグリッドがあります.はじめ,上から ii 行目,左から jj 列目のマスには英小文字 Ai,jA_{i,j} が書かれています.

このグリッドに対して QQ 回の操作を行います.ii 回目の操作では,1leqaileqH11\\leq a_i \\leq H-1, 1leqbileqW11\\leq b_i\\leq W-1 を満たす整数 ai,bia_i, b_i が与えられ,次を行います.

  • グリッド内の長方形領域 R1,R2,R3,R4R_1, R_2, R_3, R_4 を次で定める:
    • 上から aia_i 行,左から bib_i 列の部分を R1R_1 とする.
    • 上から aia_i 行,右から WbiW-b_i 列の部分を R2R_2 とする.
    • 下から HaiH-a_i 行,左から bib_i 列の部分を R3R_3 とする.
    • 下から HaiH-a_i 行,右から WbiW-b_i 列の部分を R4R_4 とする.
  • R1,R2,R3,R4R_1, R_2, R_3, R_4 のそれぞれを 180180 度回転する.

ただし,グリッド内の長方形領域 RR180180 度回転とは,RR において上から ii 番目,左から jj 番目のマスに書かれた文字を,RR において 下から ii 番目,右から jj 番目のマスに移すことをいいます.入出力例の図も参考にしてください.

QQ 回すべての操作を行ったとき,操作後のグリッドの状態を出力してください.

制約

  • 2leqH,W2\\leq H, W かつ HWleq5times105HW \\leq 5\\times 10^5
  • Ai,jA_{i,j} は英小文字
  • 1leqQleq2times1051\\leq Q\\leq 2\\times 10^5
  • 1leqaileqH11\\leq a_i\\leq H - 1
  • 1leqbileqW11\\leq b_i\\leq W - 1

入力

入力は以下の形式で標準入力から与えられます.

HH WW A1,1cdotsA1,WA_{1,1}\\cdots A_{1, W} vdots\\vdots AH,1cdotsAH,WA_{H,1}\\cdots A_{H, W} QQ a1a_1 b1b_1 vdots\\vdots aQa_Q bQb_Q

出力

操作後のマス (i,j)(i,j) に書かれている文字を Bi,jB_{i,j} とするとき,操作後のグリッドの状態を,次の形式で出力してください.

B1,1cdotsB1,WB_{1,1}\\cdots B_{1, W} vdots\\vdots BH,1cdotsBH,WB_{H,1}\\cdots B_{H, W}


入力例 1

4 5
abcde
fghij
klmno
pqrst
1
3 3

出力例 1

mlkon
hgfji
cbaed
rqpts

グリッドの状態は次の図のように変化します.


入力例 2

3 7
atcoder
regular
contest
2
1 1
2 5

出力例 2

testcon
oderatc
ularreg

グリッドの状態は次の図のように変化します.


入力例 3

2 2
ac
wa
3
1 1
1 1
1 1

出力例 3

ac
wa

グリッドの状態は次の図のように変化します.