AT_abc258_c [ABC258C] Rotation

Description

[problemUrl]: https://atcoder.jp/contests/abc258/tasks/abc258_c 正整数 $ N,Q $ と、長さ $ N $ の英小文字からなる文字列 $ S $ が与えられます。 以下で説明されるクエリを $ Q $ 個処理してください。クエリは次の $ 2 $ 種類のいずれかです。 - `1 x`: 「$ S $ の末尾の文字を削除し、先頭に挿入する」という操作を $ x $ 回連続で行う。 - `2 x`: $ S $ の $ x $ 番目の文字を出力する。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ S $ $ \mathrm{query}_1 $ $ \mathrm{query}_2 $ $ \vdots $ $ \mathrm{query}_Q $ それぞれのクエリは以下の形式で与えられる。ここで、$ t $ は $ 1 $ または $ 2 $ である。 > $ t $ $ x $

Output Format

`2 x` の形式の各クエリについて、答えを一行に出力せよ。

Explanation/Hint

### 制約 - $ 2\ \le\ N\ \le\ 5\ \times\ 10^5 $ - $ 1\ \le\ Q\ \le\ 5\ \times\ 10^5 $ - $ 1\ \le\ x\ \le\ N $ - $ |S|=N $ - $ S $ は英小文字からなる。 - `2 x` の形式のクエリが $ 1 $ 個以上与えられる。 - $ N,Q,x $ はすべて整数。 ### Sample Explanation 1 $ 1 $ 個目のクエリのとき、$ S $ は `abc` なので $ 2 $ 文字目の `b` を出力します。 $ 2 $ 個目のクエリのとき、$ S $ は `abc` から `cab` に変わります。 $ 3 $ 個目のクエリのとき、$ S $ は `cab` なので $ 2 $ 文字目の `a` を出力します。