#ABC199C. [ABC199C] IPFL

[ABC199C] IPFL

题目描述

我们有一个长度为 2N2N 的字符串 SS。你将收到 QQ个关于这个字符串的查询。在第 ii个查询中,给定三个整数 TiT_i, AiA_i , BiB_i,执行以下操作:

  • 如果 Ti=1T_i = 1:交换 SS 的第 AiA_i个和第 BiB_i个字符;
  • 如果 Ti=2T_i = 2:交换 SS 的前 NN 个字符和后 NN个字符。

例如,如果 SS 是 "FLIP",这个查询会将其变为 "IPFL"。

处理完所有 QQ个查询后,输出最终的字符串 SS

输入格式

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

N N

S S

Q Q

T1 T_1 A1 A_1 B1 B_1

T2 T_2 A2 A_2 B2 B_2

T3 T_3 A3 A_3 B3 B_3

  \hspace{21pt}\ \vdots

TQ T_Q AQ A_Q BQ B_Q

输出格式

输出处理完所有查询后的字符串 SS

样例

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 个查询交换 SS 的前 NN 个字符和后 NN 个字符,使其变为 "IPFL"

22 个查询交换 SS 的第 11 个和第 44 个字符,使其变为 "LPFI"

数据范围

  • 1  N  2 × 105 1\ \le\ N\ \le\ 2\ \times\ 10^5
  • SS 是一个长度为 2N2N的由大写英文字母组成的字符串
  • 1  Q  3 × 105 1\ \le\ Q\ \le\ 3\ \times\ 10^5
  • Ti T_i 1 1 或者 2 2
  • 如果 Ti = 1 T_i\ =\ 1 ,则 1  Ai < Bi  2N 1\ \le\ A_i\ \lt\ B_i\ \le\ 2N
  • 如果 Ti = 2 T_i\ =\ 2 、则 Ai = Bi = 0 A_i\ =\ B_i\ =\ 0