#AT1532. D - String Formation

D - String Formation

D - 字符串构建

分数:$400$ 分

问题描述

Takahashi有一个由小写英文字母组成的字符串 $S$。

从这个字符串开始,他将通过以下过程产生一个新的字符串。

该过程包括 $Q$ 次操作。第 $i$ 次操作 $(1 \leq i \leq Q)$ 给出一个整数 $T_i$ ,其含义如下:

  • 如果 $T_i = 1$:将字符串 $S$ 翻转。

  • 如果 $T_i = 2$:除此外,提供了整数 $F_i$ 和小写英文字母 $C_i$。

    • 如果 $F_i = 1$:将 $C_i$ 添加到字符串 $S$ 的开头。
    • 如果 $F_i = 2$:将 $C_i$ 添加到字符串 $S$ 的末尾。

帮助 Takahashi 找出过程最后得到的字符串。

约束

  • $1 \leq |S| \leq 10^5$
  • $S$ 由小写英文字母组成。
  • $1 \leq Q \leq 2 \times 10^5$
  • $T_i = 1$ 或 $2$。
  • 如果提供,则 $F_i = 1$ 或 $2$。
  • 如果提供,$C_i$ 为小写英文字母。

输入

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

SS

QQ

Query1Query_1

:

QueryQQuery_Q

第 $3$ 行到第 $(Q+2)$ 行,$Query_i$ 的格式如下:

``` $1$ ```

表示 $T_i = 1$ ,并且:

``` $2$ $F_i$ $C_i$ ```

表示 $T_i = 2$。

输出

输出结果字符串。


a
4
2 1 p
1
2 2 c
1
cpa

有 $Q = 4$ 次操作。初始时,$S$ 为 a

  • 操作 $1$:在 $S$ 的开头添加 p。$S$ 变为 pa

  • 操作 $2$:翻转 $S$。$S$ 变为 ap

  • 操作 $3$:在 $S$ 的末尾添加 c。$S$ 变为 apc

  • 操作 $4$:翻转 $S$。$S$ 变为 cpa

因此,最后得到的字符串为 cpa


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

有 $Q = 6$ 次操作。初始时,$S$ 为 a

  • 操作 $1$:$S$ 变为 aa

  • 操作 $2$:$S$ 变为 baa

  • 操作 $3$:$S$ 变为 aab

  • 操作 $4$:$S$ 变为 aabc

  • 操作 $5$:$S$ 变为 cbaa

  • 操作 $6$:$S$ 变为 aabc

因此,最后得到的字符串为 aabc


y
1
2 1 x
xy