#M260235. 字符操作

字符操作

题目描述

小 Z 手头有个长度为 2n2n 字符串 SS,他可以对字符串进行两种操作:

  • op=1:op=1: 将字符串的第 ii 号位置与第 jj 号位置互换;
  • op=2:op=2: 将字符串的前后半段互换,即若原来为 S1S2S3...SnSn+1Sn+2...S2nS_1S_2S_3...S_nS_{n+1}S_{n+2}...S_{2n},操作后变为 Sn+1Sn+2...S2nS1S2S3...SnS_{n+1}S_{n+2}...S_{2n}S_1S_2S_3...S_n

小 Z 一共进行了 qq 次操作,求操作完毕之后的字符串 SS

输入格式

第一行,22 个正整数 n,qn,q,表示字符串 SS 的长度为 2n2n,共有 qq 次操作。

第二行,字符串 SS(仅包含字母)。

接下来 qq 行,每一行表示一次操作:

  • 1,i,j1, i, j:表示将第 i,ji,j 位互换;
  • 22:表示前后半段互换;

输出格式

操作完成之后的字符串。

输入输出样例

2 2
flip
2
1 1 4
lpfi

样例 #1\tt \#1说明

  • 第一次操作后,字符串变为 ipfl
  • 第二次操作后,字符串变为 lpfi

数据范围

  • 对于 30%30\% 的数据,1n,q20001 \leq n,q \leq 2000
  • 对于 60%60\% 的数据,保证操作 22 的次数不超过 20002000
  • 对于所有测评数据,1n,q1051 \leq n,q \leq 10^5