#abc158d. [abc158_d]String Formation

[abc158_d]String Formation

問題文

高橋君は、英小文字から成る文字列 SS を持っています。

この SS から始めて、ある与えられた手順に従って文字列を作ることにしました。

手順は QQ 回の操作から成ります。操作 i(1leqileqQ)i(1 \\leq i \\leq Q) では、まず整数 TiT_i が与えられます。

  • Ti=1T_i = 1 のとき : 文字列 SS の前後を反転する。

  • Ti=2T_i = 2 のとき : 追加で整数 FiF_i と英小文字 CiC_i が与えられる。

    • Fi=1F_i = 1 のとき : 文字列 SS の先頭に CiC_i を追加する。
    • Fi=2F_i = 2 のとき : 文字列 SS の末尾に CiC_i を追加する。

高橋君のために、手順の後に最終的にできる文字列を求めてあげてください。

制約

  • 1leqSleq1051 \\leq |S| \\leq 10^5
  • SS は英小文字から成る
  • 1leqQleq2times1051 \\leq Q \\leq 2 \\times 10^5
  • Ti=1T_i = 1 または 22
  • Fi=1F_i = 1 または 22
  • CiC_i は英小文字である

入力

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

SS QQ Query1Query_1 :: QueryQQuery_Q

33 行目から Q+2Q + 2 行目の QueryiQuery_i は、以下の 22 つのいずれかである。

11

Ti=1T_i = 1 として操作を行うことを表す。

22 FiF_i CiC_i

Ti=2T_i = 2 として操作を行うことを表す。

出力

手順の後に最終的にできる文字列を出力せよ。


入力例 1

a
4
2 1 p
1
2 2 c
1

出力例 1

cpa

Q=4Q = 4 回の操作を行います。初め SSa です。

  • 操作 11 : SS の先頭に p を追加する。SSpa となる。

  • 操作 22 : SS の前後を反転する。SSap となる。

  • 操作 33 : SS の末尾に c を追加する。SSapc となる。

  • 操作 44 : SS の前後を反転する。SScpa となる。

よって最終的にできる文字列は cpa となります。


入力例 2

a
6
2 2 a
2 1 b
1
2 2 c
1
1

出力例 2

aabc

Q=6Q = 6 回の操作を行います。初め SSa です。

  • 操作 11 : SSaa となる。

  • 操作 22 : SSbaa となる。

  • 操作 33 : SSaab となる。

  • 操作 44 : SSaabc となる。

  • 操作 55 : SScbaa となる。

  • 操作 66 : SSaabc となる。

よって最終的にできる文字列は aabc となります。


入力例 3

y
1
2 1 x

出力例 3

xy