Reverse and Rotate

题目描述

给定一个字符串 $S$ 和 $n$ 次操作,每次操作为以下 $3$ 种形式之一: 1. `< x` 表示将 $S$ 向左循环移动 $x$ 位。例如:$\mathtt{abcde}$ 执行 `< 2` 后变成 $\mathtt{cdeab}$。 2. `> x` 表示将 $S$ 向右循环移动 $x$ 位。例如:$\mathtt{abcde}$ 执行 `> 2` 后变成 $\mathtt{deabc}$。 3. `rev` 表示将 $S$ 翻转。例如:$\mathtt{abcde}$ 执行 `rev` 后变成 $\mathtt{edcba}$。 求 $S$ 在**依次**执行这 $n$ 次操作后得到的字符串 $S'$。 注:对于 $S=s_0s_1\cdots s_{k-1}$,将其向左循环移动 $x$ 位,会变成 $s_{-x}S_{-x+1}\cdots S_{-x+k-1}$;向右循环移动 $x$ 位,会变成 $s_{x}S_{x+1}\cdots S_{x+k-1}$。对于 $x\equiv y\pmod k$,有 $s_x=s_y$。

输入输出格式

输入格式


第一行一个字符串 $S$。 第二行一个整数 $n$。 接下来 $n$ 行,每行一个操作。

输出格式


一行一个字符串 $S'$,表示**依次**执行 $n$ 次操作后得到的字符串。

输入输出样例

输入样例 #1

abcde
3
> 2
rev
< 2

输出样例 #1

aedcb

说明

**【样例 1 解释】** - 原字符串为 $\mathtt{abcde}$; - 第一次操作后,字符串变为 $\mathtt{deabc}$; - 第二次操作后,字符串变为 $\mathtt{cbaed}$; - 第三次操作后,字符串变为 $\mathtt{aedcb}$。 **【数据规模与约定】** 记 $|S|$ 表示字符串 $S$ 的长度。 | 测试点编号 | 特殊性质 | | :----------: | :----------: | | $1\sim3$ | $\vert S\vert,n,x \le 1000$ | | $4$ | 没有 `rev` 操作 | | $5$ | $S=\mathtt{aa...abb...b}$ | | $6\sim10$ | 无 | 对于 $100\%$ 的数据,$1 \le |S|,n \le 10^6$,$0 \le x \le 10^9$,$S$ 仅由小写字母组成。