#3170. 旋转舞台(stage)

旋转舞台(stage)

题目描述

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

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

  1. 小项根据K−1K-1编号砖块位置的上一行右一列,暂定KK编号砖块的位置。
  2. 如果暂定位置的行号是00,将行号改为nn。
  3. 如果暂定位置的行号是n+1n+1,将行号改为11。
  4. 如果暂定位置的列号是00,将列号改为mm。
  5. 如果暂定位置的列号是m+1m+1,将列号改为11。
  6. 如果暂定位置上已经确定了砖块的编号,那么改为K−1K-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

数据范围

对于所有测试数据:1≤n,m≤1000, 1≤a,x≤n, 1≤b,y≤m1\le n,m\le 1000,\ 1\le a,x\le n,\ 1\le b,y\le m。

测试点编号 n,m≤n,m\le
1∼21\sim2 1010
3∼63\sim6 100100
7∼107\sim10 10001000