编程题
### 问题描述
给定长度为 $n$ 的仅由小写英文字母构成的字符串 $S=\{s_1,s_2,\dots,s_n\}$,定义它的子串 $S[l,r]=\{s_l,s_{l+1},\dots,s_r\}$。
有以下两种操作:
1. `1 ad ch`:将字符串中第 $ad$ 个元素 $s_{ad}$ 赋值为字符 $ch$,给定的 $ch$ 仅可能是小写英文字母。
2. `2 l1 r1 l2 r2`:请你判断字符串 $S[l_1,r_1]$ 是否等于 $S[l_2,r_2]$。
共进行 $q$ 次操作,对于每个第二种操作,若两个子串相等则输出 `YES`,否则输出 `NO`。
### 输入格式
第一行输入一个正整数 $n(1\le n\le 2\times 10^5)$。
第二行输入 $n$ 个小写英文字母,表示字符串 $S$。
第三行输入一个正整数 $q(1\le q\le 2\times 10^5)$,表示操作次数。
以下 $q$ 行,第 $i$ 行首先输入一个正整数 $opt(opt\in\\{1,2\\})$,表示操作种类:
- 若 $opt=1$,再输入一个正整数 $ad(1\le ad\le n)$ 和一个小写英文字母 $ch$,描述操作 $1$;
- 否则再输入四个正整数 $l_1,r_1,l_2,r_2(1\le l_1\le r_1\le n,1\le l_2\le r_2\le n)$,描述操作 $2$。
### 输出格式
若干行,对于每个操作 $2$,若两个子串相等则输出 `YES`,否则输出 `NO`。
### 样例输入
```text
5
ababa
5
2 1 3 3 5
1 3 c
2 1 3 3 5
1 1 c
2 1 2 3 4
```
### 样例输出
```text
YES
NO
YES
```
### 评测数据规模
$1\le n,q\le 2\times 10^5$。
$opt\in\\{1,2\\}$。
$1\le ad\le n,1\le l_1\le r_1\le n,1\le l_2\le r_2\le n$。
字符串 $S$ 仅有小写英文字母构成,字符 $ch$ 仅可能是小写英文字母。