atcoder#ABC258C. [ABC258C] Rotation

[ABC258C] Rotation

配点 : 300300

問題文

正整数 N,QN,Q と、長さ NN の英小文字からなる文字列 SS が与えられます。

以下で説明されるクエリを QQ 個処理してください。クエリは次の 22 種類のいずれかです。

  • 1 x: 「SS の末尾の文字を削除し、先頭に挿入する」という操作を xx 回連続で行う。
  • 2 x: SSxx 番目の文字を出力する。

制約

  • 2N5×1052 \le N \le 5 \times 10^5
  • 1Q5×1051 \le Q \le 5 \times 10^5
  • 1xN1 \le x \le N
  • S=N|S|=N
  • SS は英小文字からなる。
  • 2 x の形式のクエリが 11 個以上与えられる。
  • N,Q,xN,Q,x はすべて整数。

入力

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

NN QQ

SS

query1\mathrm{query}_1

query2\mathrm{query}_2

\vdots

queryQ\mathrm{query}_Q

それぞれのクエリは以下の形式で与えられる。ここで、tt11 または 22 である。

tt xx

出力

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

3 3
abc
2 2
1 1
2 2
b
a

11 個目のクエリのとき、SSabc なので 22 文字目の b を出力します。 22 個目のクエリのとき、SSabc から cab に変わります。 33 個目のクエリのとき、SScab なので 22 文字目の a を出力します。

10 8
dsuccxulnl
2 4
2 7
1 2
2 7
1 1
1 2
1 3
2 5
c
u
c
u