题目描述
我们有一个长度为 2N 的字符串 S。你将收到 Q个关于这个字符串的查询。在第 i个查询中,给定三个整数 Ti, Ai , Bi,执行以下操作:
- 如果 Ti=1:交换 S 的第 Ai个和第 Bi个字符;
- 如果 Ti=2:交换 S 的前 N 个字符和后 N个字符。
例如,如果 S 是 "FLIP
",这个查询会将其变为 "IPFL
"。
处理完所有 Q个查询后,输出最终的字符串 S。
输入格式
输入按以下格式从标准输入给出:
N
S
Q
T1 A1 B1
T2 A2 B2
T3 A3 B3
⋮
TQ AQ BQ
输出格式
输出处理完所有查询后的字符串 S 。
样例
2
FLIP
2
2 0 0
1 1 4
LPFI
2
FLIP
6
1 1 3
2 0 0
1 1 2
1 2 3
2 0 0
1 1 4
ILPF
说明/提示
样例 1 解释
第 1 个查询交换 S 的前 N 个字符和后 N 个字符,使其变为 "IPFL"
。
第 2 个查询交换 S 的第 1 个和第 4 个字符,使其变为 "LPFI"
。
数据范围
- 1 ≤ N ≤ 2 × 105
- S 是一个长度为 2N的由大写英文字母组成的字符串
- 1 ≤ Q ≤ 3 × 105
- Ti 是 1 或者 2
- 如果 Ti = 1 ,则 1 ≤ Ai < Bi ≤ 2N
- 如果 Ti = 2 、则 Ai = Bi = 0