100 atcoder#ABC199C. [ABC199C] IPFL

[ABC199C] IPFL

配点 : 300300

問題文

長さ 2N2N の文字列 SS があります。 この文字列に対して QQ 個のクエリが与えられます。ii 番目のクエリでは 33 つの整数 Ti,Ai,BiT_i, A_i, B_i が与えられるので、以下の処理をします。

  • Ti=1T_i = 1 のとき : SSAiA_i 文字目と BiB_i 文字目を入れ替える
  • Ti=2T_i = 2 のとき : SS の前半 NN 文字と後半 NN 文字を入れ替える(Ai,BiA_i, B_i の値は用いない) 例えば SSFLIP のときにこのクエリを処理すると、SSIPFL となる。

これら QQ 個のクエリを与えられた順に全て処理した後の SS を出力してください。

制約

  • 1N2×1051 \le N \le 2 \times 10^5
  • SS は長さ 2N2N の英大文字のみからなる文字列
  • 1Q3×1051 \le Q \le 3 \times 10^5
  • TiT_i11 または 22
  • Ti=1T_i = 1 のとき、1Ai<Bi2N1 \le A_i \lt B_i \le 2N
  • Ti=2T_i = 2 のとき、Ai=Bi=0A_i = B_i = 0

入力

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

NN

SS

QQ

T1T_1 A1A_1 B1B_1

T2T_2 A2A_2 B2B_2

T3T_3 A3A_3 B3B_3

\hspace{21pt} \vdots

TQT_Q AQA_Q BQB_Q

出力

クエリ処理後の SS を出力せよ。

2
FLIP
2
2 0 0
1 1 4
LPFI

11 番目のクエリでは SS の前半 NN 文字と後半 NN 文字を入れ替えるため、SSIPFL となります。 22 番目のクエリでは SS11 文字目と 44 文字目を入れ替えるため、SSLPFI となります。

2
FLIP
6
1 1 3
2 0 0
1 1 2
1 2 3
2 0 0
1 1 4
ILPF