AT_abc410_c [ABC410C] Rotatable Array

Description

長さ $ N $ の整数列 $ A $ があり、最初 $ A_i = i $ です。 以下のクエリを全部で $ Q $ 個処理してください。 - タイプ $ 1 $ : $ A_p $ を $ x $ に変更する。 - タイプ $ 2 $ : $ A_p $ を出力する。 - タイプ $ 3 $ : 「 $ A $ の先頭の要素を末尾にする」という操作を $ k $ 回繰り返す。 - 厳密には、 $ A $ を $ (A_2,A_3,\dots,A_N,A_1) $ に置き換えることを $ k $ 回繰り返す。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ \rm{Query} $ $ _1 $ $ \rm{Query} $ $ _2 $ $ \vdots $ $ \rm{Query} $ $ _Q $ 但し、 $ \rm{Query} $ $ _i $ は $ i $ 個目のクエリを表す。 タイプ $ 1 $ のクエリは以下の形式で与えられる。 > 1 $ p $ $ x $ タイプ $ 2 $ のクエリは以下の形式で与えられる。 > 2 $ p $ タイプ $ 3 $ のクエリは以下の形式で与えられる。 > 3 $ k $

Output Format

タイプ $ 2 $ のクエリが現れる度に、その解答を $ 1 $ 行に出力せよ。

Explanation/Hint

### Sample Explanation 1 この入力には $ 5 $ 個のクエリが含まれます。 - 最初、 $ A=(1,2,3,4,5) $ です。 - $ 1 $ 番目のクエリはタイプ $ 2 $ で、 $ A_3=3 $ を出力します。 - $ 2 $ 番目のクエリはタイプ $ 1 $ で、 $ A_2=1000000 $ に置き換えます。 - クエリの結果、 $ A=(1,1000000,3,4,5) $ となります。 - $ 3 $ 番目のクエリはタイプ $ 3 $ で、「 $ A $ の先頭の要素を末尾にする」という操作を $ 4 $ 回繰り返します。 - クエリの結果、 $ A=(5,1,1000000,3,4) $ となります。 - $ 4 $ 番目のクエリはタイプ $ 2 $ で、 $ A_2=1 $ を出力します。 - $ 5 $ 番目のクエリはタイプ $ 2 $ で、 $ A_3=1000000 $ を出力します。 ### Sample Explanation 2 出力が空である場合もあります。 ### Constraints - 入力は全て整数 - $ 1 \le N \le 10^6 $ - $ 1 \le Q \le 3 \times 10^5 $ - 全てのクエリは以下の制約を満たす - $ 1 \le p \le N $ - $ 1 \le x \le 10^6 $ - $ 1 \le k \le 10^9 $