luogu#P5278. 算术天才⑨与等差数列

算术天才⑨与等差数列

题目描述

算术天才⑨非常喜欢和等差数列玩耍。
有一天,他给了你一个长度为 nn 的序列,其中第 ii 个数为 aia_i
他想考考你,每次他会给出询问 l,r,kl,r,k,问区间 [l,r][l,r] 内的数从小到大排序后能否形成公差为 kk 的等差数列。
当然,他还会不断修改其中的某一项。
为了不被他鄙视,你必须要快速并正确地回答完所有问题。
注意:只有一个数的数列也是等差数列。

输入格式

第一行包含两个正整数 n,mn,m,分别表示序列的长度和操作的次数。
第二行包含 nn 个整数,依次表示序列中的每个数 aia_i
接下来 mm 行,每行一开始为一个数 op\text{op}
op=1\text{op}=1,则接下来两个整数 x,yx,y,表示把 axa_x 修改为 yy
op=2\text{op}=2,则接下来三个整数 l,r,kl,r,k,表示一个询问。
在本题中,x,y,l,r,kx,y,l,r,k 都是经过加密的,都需要异或你之前输出的 Yes 的个数来进行解密。

输出格式

输出若干行,对于每个询问,如果可以形成等差数列,那么输出 Yes,否则输出 No

5 3
1 3 2 5 6
2 1 5 1
1 5 4
2 1 5 1
No
Yes

提示

【数据范围】
对于 100%100\% 的数据, 1n,m3×1051\le n,m \le 3\times 10^50ai,y,k1090\le a_i,y,k \le 10^9