#arc153b. [arc153_b]Grid Rotations

[arc153_b]Grid Rotations

问题陈述

我们有一个由HH行从上到下和WW列从左到右组成的网格。最初,位于从上到下的第ii行和从左到右的第jj列的方块上有一个小写英文字母Ai,jA_{i,j}

让我们在这个网格上执行QQ次操作。在第ii次操作中,给定整数aia_ibib_i,使得1aiH11\leq a_i \leq H-11biW11\leq b_i\leq W-1,然后执行以下操作。

  • R1R_1R2R_2R3R_3R4R_4是网格内的矩形区域,定义如下:
    • R1R_1是前aia_i行和最左侧的bib_i列的交集;
    • R2R_2是前aia_i行和最右侧的WbiW-b_i列的交集;
    • R3R_3是后HaiH-a_i行和最左侧的bib_i列的交集;
    • R4R_4是后HaiH-a_i行和最右侧的WbiW-b_i列的交集。
  • R1R_1R2R_2R3R_3R4R_4中的每个矩形区域旋转180180度。

这里,网格中矩形区域RR180180度旋转将位于RR中从上到下的第ii列和从左到右的第jj列的字符移动到RR中从下到上的第ii列和从右到左的第jj列上。参见示例的图形。

输出在所有QQ次操作之后的网格。

约束条件

  • 2H,W2\leq H, W,且HW5×105HW \leq 5\times 10^5
  • Ai,jA_{i,j}是一个小写英文字母。
  • 1Q2×1051\leq Q\leq 2\times 10^5
  • 1aiH11\leq a_i\leq H - 1
  • 1biW11\leq b_i\leq W - 1

输入

输入以以下格式从标准输入给出:

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

输出

以以下格式打印经过操作后的网格,其中Bi,jB_{i,j}是最终网格上方格(i,j)(i,j)上的字符。

B1,1B1,WB_{1,1}\cdots B_{1, W} \vdots BH,1BH,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

网格的变化如下。