# 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

### 样例输入 #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$ 仅由小写字母组成。