#3170. 旋转舞台(stage)

旋转舞台(stage)

题目描述

奇幻舞台剧下个月就要公演了,小项需要对舞台进行布置,营造出亦真亦幻的效果。小项把舞台剧分隔成nnmm列的网格,在每个网格内放上颜色各异的砖块用来搭阶梯。在他的想法中,把舞台背景旋转起来后,观众有着场景阶梯上升的感觉。

小项把他手头的砖块按照颜色的深度,把砖块从11n×mn\times m编号,将第11块砖放置到第xxyy列的网格中,之后,按如下方式放置编号为K (K=2,3,4,,n×m)K\ (K=2,3,4,\dots,n\times m)的砖块:

  1. 小项根据K1K-1编号砖块位置的上一行右一列,暂定KK编号砖块的位置。
  2. 如果暂定位置的行号是00,将行号改为nn
  3. 如果暂定位置的行号是n+1n+1,将行号改为11
  4. 如果暂定位置的列号是00,将列号改为mm
  5. 如果暂定位置的列号是m+1m+1,将列号改为11
  6. 如果暂定位置上已经确定了砖块的编号,那么改为K1K-1编号砖块的位置的下一行,然后再检查步骤22~步骤55

小项的舞台很大,他不希望你输出所有的数据,他目前只希望知道pp个位置的砖块编号,以方便他施工。

输入格式

从文件stage.in中读入数据。 输入第一行包含五个整数n,m,p,x,yn,m,p,x,y,分别表示舞台的行数、舞台的列数、小项关心的位置个数、第一个砖块所在的行号、第一个砖块所在的列号。 接下来输入pp行,每行两个整数a,ba,b,表示小项想要查询砖块编号的网格行号、列号。

输出格式

输出到文件stage.out。 输出pp行,每行一个整数,表示对应网格位置的砖块编号。

样例

3 3 3 1 2
1 3
2 2
3 3
6
5
2

样例解释

根据规则,每个网格放置的砖块编号如下:

8 1 6
3 5 7
4 9 2

数据范围

对于所有测试数据:1n,m1000, 1a,xn, 1b,ym1\le n,m\le 1000,\ 1\le a,x\le n,\ 1\le b,y\le m

测试点编号 n,mn,m\le
121\sim2 1010
363\sim6 100100
7107\sim10 10001000