#ABC158D. [ABC158D] 字符串形成(String Formation)

[ABC158D] 字符串形成(String Formation)

题目描述

小高有一个由小写英文字母组成的字符串 SS。从这个字符串开始,他将按照以下过程生成一个新的字符串。该过程包含 QQ 个操作。在第 ii 个操作中 (1iQ)(1 \le i \le 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

请帮助小高找出这个过程最终得到的字符串。

输入格式

输入按以下格式从标准输入给出:。

S S

Q Q

Query1 Query_1

: :

QueryQ Query_Q

在第 33 行到第 (Q+2)(Q+2) 行,QueryiQuery_i 是以下之一:

1 1

Ti = 1 T_i\ =\ 1 的操作

2 2 Fi F_i Ci C_i

Ti = 2 T_i\ =\ 2 的操作。

输出格式

输出最终得到的字符串。

输入输出样例 #1

输入 #1

a
4
2 1 p
1
2 2 c
1

输出 #1

cpa

输入输出样例 #2

输入 #2

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

输出 #2

aabc

输入输出样例 #3

输入 #3

y
1
2 1 x

输出 #3

xy

说明/提示

样例 1 解释

将有 Q=4Q=4 个操作。初始时,SSa

  • 操作 11:在 SS 的开头添加 pSS 变成 pa
  • 操作 22:反转 SSSS 变成 ap
  • 操作 33:在 SS 的末尾添加 cSS 变成 apc
  • 操作 44:反转 SSSS 变成 cpa

因此,最终得到的字符串是 cpa

样例 2 解释

将有 Q=6Q=6 个操作。初始时,SSa

  • 操作 11SS 变成 aa
  • 操作 22SS 变成 baa
  • 操作 33SS 变成 aab
  • 操作 44SS 变成 aabc
  • 操作 55SS 变成 cbaa
  • 操作 66SS 变成 aabc

因此,最终得到的字符串是 aabc

数据范围

  • 1  S  105 1\ \leq\ |S|\ \leq\ 10^5
  • 1  Q  2 × 105 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5