[R14D]训练指令2 - 代码源竞赛平台

时空限制

2S/512M

题目描述

有 n×mn\times m 个同学排成 nn 行 mm 列的方阵。初始时,第 ii 行第 jj 列的同学编号为 (i−1)×m+j(i-1)\times m+j。

有 qq 条训练指令,指令分为以下三种:

  • 1 x y1\ x\ y,表示让第 xx 行的每个同学与第 yy 行同列的同学交换位置;
  • 2 x y2\ x\ y,表示让第 xx 列的每个同学与第 yy 列同行的同学交换位置;
  • 3 x y3\ x\ y,表示询问此时第 xx 行第 yy 列的同学编号。

格式

输入格式

第一行包含三个整数 n,m,qn,m,q,分别表示方阵的行数和列数以及训练指令的数量。

接下来 qq 行每行一条训练指令,格式见题目描述。

输出格式

对于每条 33 类的询问,在单独的一行中输出一个整数表示答案。

样例

样例输入 #1

3 4 6
1 1 2
2 2 3
3 2 2
1 2 3
2 1 4
3 3 4

样例输出 #1

3
1

样例解释 #1

初始时方阵中同学的编号情况如下:

P1

第 11 条指令执行后方阵中同学的编号情况如下:

P2

第 22 条指令执行后方阵中同学的编号情况如下:

P3

此时第 22 行第 22 列的同学编号为 33。

第 44 条指令执行后方阵中同学的编号情况如下:

P4

第 55 条指令执行后方阵中同学的编号情况如下:

P5

此时第 33 行第 44 列的同学编号为 11。

数据规模

对于 40%40\% 的数据,n,m≤2000n,m\leq 2000,q≤2000q\leq 2000。

另有 20%20\% 的数据,不存在 22 类指令。

对于 100%100\% 的数据,1≤n,m≤1061\leq n,m\leq 10^6,1≤q≤1061\leq q\leq 10^6。数据保证:对于 11 类指令,1≤x<y≤n1\leq x<y\leq n;对于 22 类指令,1≤x<y≤m1\leq x<y\leq m;对于 33 类指令,1≤x≤n1\leq x\leq n,1≤y≤m1\leq y\leq m。