Round And Round

Time Limit : 2 sec, Memory Limit : 524288 KB

Problem C: Round And Round

Problem

長さ$N$の数列$A=\{a_{1},a_{2},a_{3},...,a_{n}\}$が与えられる。
$a_{i}$ ($i=1,2,3,...,n$)は、$i$で初期化されているものとする。

以下の二種類のクエリを合計$Q$回処理せよ。

  • 数列$A$の先頭から$k$番目の要素の値を出力する。
  • 数列$A$の先頭から$k$と$k+1$番目を境界に二つの数列をスワップする。

詳しくはサンプル入出力を参考にせよ。

Input

入力は以下の形式で与えられる。

$N$ $Q$
$query_1$
$query_2$
...
$query_Q$

各クエリは以下の二種類のいずれかの形式で与えられる。

クエリ$0$
$0$ $k$
数列$A$の先頭から$k$番目の要素の値を出力する。

クエリ$1$
$1$ $k$
数列$A$の先頭から$k$と$k+1$番目を境界に二つの数列をスワップする。

入力はすべて整数で与えられる。

$1$行目に$N$, $Q$が空白区切りで与えられる。
$2$行目以降の$Q$行にクエリが改行区切りで与えられる。
各クエリ内の数値は全て空白区切りである。

Constraints

入力は以下の条件を満たす。

  • $2 \leq N \leq 10^9 $
  • $1 \leq Q \leq 10^5 $

各クエリについて、入力は以下の条件を満たす。

    クエリ$0$
  • $1 \leq k \leq N $

  • クエリ$1$
  • $1 \leq k \leq N-1 $

Output

各クエリ$1$に対し値を一行に出力せよ。

Sample Input 1

5 4
1 2
0 2
1 1
0 3

Sample Output 1

4
1
長さ$5$の数列$A=[1,2,3,4,5]$が与えられる
$1$番目のクエリで $[1,2,3,4,5]$ -> $[1,2] [3,4,5]$ -> $[3,4,5] [1,2]$ -> $[3,4,5,1,2]$ と数列が変化する。
$2$番目のクエリで先頭から$2$番目の要素の値である$4$を出力する。
$3$番目のクエリで $[3,4,5,1,2]$ -> $[3] [4,5,1,2]$ -> $[4,5,1,2] [3]$ -> $[4,5,1,2,3]$ と数列が変化する。
$4$番目のクエリで先頭から$3$番目の要素の値である$1$を出力する。

Sample Input 2

4 4
1 2
1 1
0 1
0 4

Sample Output 2

4
3

Sample Input 3

10 6
1 1
0 1
1 9
0 5
1 1
0 10

Sample Output 3

2
5
1