#630. 括号序列

括号序列

题目描述

给你一个长度为 nn 的括号串,qq 次以下两种操作:

  • 输入 1 l r1\ l\ r,代表交换第 ll 和第 rr 个位置上的字符

  • 输入 2 l r2\ l\ r,判断区间 [l,r][l,r] 子串是否是合法括号序列

输入格式

第一行输入两个整数 n,qn,q

第二行输入一个长度为 nn 的括号串。

接下来 qq 行,每行输入三个整数 op,l,rop,l,r

输出格式

对于每一个 22 操作,判断区间 [l,r][l,r] 是否是一个合法的括号序列,是则输出 YesYes ,否则输出 NoNo

样例 #1

样例输入 #1

5 3
(())(
2 1 4
2 1 2
2 4 5

样例输出 #1

Yes
No
No

样例 #2

样例输入 #2

5 3
(())(
2 1 4
1 1 4
2 1 4

样例输出 #2

Yes
No

样例 #3

样例输入 #3

8 8
(()(()))
2 2 7
2 2 8
1 2 5
2 3 4
1 3 4
1 3 5
1 1 4
1 6 8

样例输出 #3

Yes
No
No

提示

对于 100%100\% 的数据:

  • 1  N,Q  2 × 105 1\ \leq\ N,Q\ \leq\ 2\ \times\ 10^5
  • 1  l < r  N 1\ \leq\ l\ <\ r\ \leq\ N
  • 字符串保证只包括 ()