#4447. B

B

B

你有一个长度为 nn 的序列 a1,a2,,ana_1,a_2,\dots , a_n

你需要进行 mm 次操作。

  1. 给定 p,xp,x ,将 apa_p 赋值为 xx
  2. 给定 l,r,kl,r,k ,将所有 lirl\leq i \leq r aia_i 赋值为 aimodka_i\bmod k 。(mod\bmod 为取模运算)
  3. 给定 l,rl,r ,求所有 lirl\leq i \leq raia_i 的最大值。

输入格式

第一行两个整数 n,mn,m

第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n

接下来 mm 行每行第一个整数表示操作类型,后面 2233 个整数表示这次操作给定的参数。

输出格式

对于所有操作 33 ,输出一行一个整数表示这次操作的答案。

输入样例

3 5
2 3 3
3 1 3
2 2 3 2
3 1 3
1 2 5
3 2 3

输出样例

3
2
5

数据范围

对于 30%30\% 的数据,满足 n,m2000n,m\leq 2000

对于另外 30%30\% 的数据,满足没有操作 22

对于所有数据,满足 $n,m\leq 10^5,1\leq a_i,x,k\leq 10^9,1\leq l\leq r\leq n$ 。