编程题
### 问题描述
给定长度为 $N$ 的字符串 $S$,字符集为小写字母,支持以下 $2$ 种操作:
> 1. 给定 $x,c$,表示将 $S[x]$ 修改为 $c$。
> 2. 给定 $l_1,r_1$,询问 $S[l_1,r_1]$ 是否是回文串。
### 输入格式
第一行包含 $2$ 个正整数 $N,Q$,表示字符串长度和操作次数。
第二行给定字符串 $S$。
之后 $Q$ 行,每行第一个数表示 $type$:
如果 $type=1$,之后给定 $2$ 个正整数 $x,c$,表示一次修改。
如果 $type=2$,之后给定 $4$ 个正整数 $l_1,r_1$,表示一次询问,保证 $1 \leq l_1 \leq r_1 \leq N$。
### 输出格式
对于每次询问,如果该串是回文串输出 `Yes`,否则输出 `No`。
### 样例输入
```text
5 3
abaaa
1 4 b
2 1 5
2 1 2
```
### 样例输出
```text
Yes
No
```
### 评测数据规模
对于所有测评数据,$1 \leq N,Q \leq 10^5$。