#ABC158D. String Formation

String Formation

题目描述

Takahashi has a string SS consisting of lowercase English letters.

Starting with this string, he will produce a new one in the procedure given as follows.

The procedure consists of QQ operations. In Operation ii (1iQ)(1 \leq i \leq Q), an integer TiT_i is provided, which means the following:

  • If Ti=1T_i = 1: reverse the string SS.

  • If Ti=2T_i = 2: An integer FiF_i and a lowercase English letter CiC_i are additionally provided.

    • If Fi=1F_i = 1 : Add CiC_i to the beginning of the string SS.
    • If Fi=2F_i = 2 : Add CiC_i to the end of the string SS.

Help Takahashi by finding the final string that results from the procedure.

高桥有一个由小写英文字母组成的字符串 SS

从这个字符串开始,他将按照以下步骤生成一个新字符串。

该程序包括 QQ 个操作。在操作 ii(1iQ)(1 \leq i \leq Q) 中提供了一个整数 TiT_i ,其含义如下:

  • 如果 Ti=1T_i = 1 :反转字符串 SS
  • 如果 Ti=2T_i = 2 :将额外提供一个整数 FiF_i 和一个小写英文字母 CiC_i
    • If Fi=1F_i = 1 :在字符串 SS 的开头添加 CiC_i
    • If Fi=2F_i = 2 : 在字符串 SS 的末尾添加 CiC_i

请帮助高桥先生找出这个过程的最终结果。

输入格式

第一行为字符串 SS
第二行为整数 QQ; 接下来有 QQ 行操作,每行包含以下内容:
第一个为数字 TiT_i 表示操作类型,如果 Ti=2T_i=2,则后面包含一个数字 FiF_i 和字符 CiC_i

输出格式

打印结果字符串。

样例 #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

说明

数据规模与约定

  • 1S1051 \leq |S| \leq 10^5
  • SS 由小写英文字母组成。
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • Ti=1T_i = 122
  • Fi=1F_i = 122 (如果提供)。
  • CiC_i 为小写英文字母(如有提供)。

样例 11 解释

将有 Q=4Q = 4 次操作。最初, SSa

  • 操作 11 :在 SS 的开头添加 "p"。 SS 变成了 pa

  • 操作 22 :逆转 SS . SS 变成 ap.

  • 操作 33 :在 SS 结尾添加 cSS 变成 apc

  • 操作 44 :逆转 SS . SS 变成 cpa

因此,得到的字符串是 cpa

样例 22 解释

将有 Q=6Q = 6 次操作。最初, SS 是 "a"。

  • 操作 11SS 变为 "aa"。

  • 操作 22SS becomes baa.

  • 操作 33SS 变成aab

  • 操作 44SS 变成了 "aabc"。

  • 操作 55SS 变成了 cbaa

  • 操作 66SS 变成aabc

因此,得到的字符串是 aabc