1447: 矩阵翻转

Memory Limit:512 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:107 Solved:11

Description

小明有一个 $ n $行$ n $列的矩阵。初始时第 $i$ 行 $j$ 列上标的数字为 $(i-1)*n+j$。

矩阵上有两根轴线,具体位置如图。 

小明需要你帮他完成下面三种操作。  
- r a : 按轴 $a$ 翻转矩阵,具体来说,交换 $i$ 行 $j$ 列和 $i$ 行 $n-j+1$ 列上的数。  
- r b : 按轴 $b$ 翻转矩阵,具体来说,交换 $i$ 行 $j$ 列和 $n-i+1$ 行 $j$ 列上的数。  
- q x y : 输出第 $x$ 行 $y$ 列上的数。


Input

第一行,两个整数 $n,m$ ,依次代表矩阵大小和操作次数。  
接下来 $m$ 行,每行给出一次操作,格式同上文。


数据范围:  
对于 $40\%$的数据,$1 \le n \le 100,1\le m \le 1000$ 
对于 $70\%$的数据,$1 \le n \le 10^4,1\le m \le 1000$   
对于 $100\%$的数据,$1 \le n \le 10^9,1\le m \le 10^5$ 

Output

一行,$t$个整数,$t$为询问操作的次数。  
第 $i$ 个整数,代表第 $i$ 次询问的答案,答案之间以一个空格间隔。

Sample Input Copy

3 5
q 3 1
r a
q 3 1
r b
q 3 3

Sample Output Copy

7 9 1

HINT


第一次操作询问第 $3$ 行 $1$ 列上的数字,输出$7$。  
第二次操作为沿 $a$ 翻转。



第三次操作询问第 $3$ 行 $1$ 列上的数字,输出$9$。   
第四次操作为沿 $b$ 翻转。

第五次操作询问第 $3$ 行 $3$ 列上的数字,输出$1$。