查询操作:1 l r 存在子区间[X,Y] 使得AX or AX+1 or AX+2 ... AY-2 or AY-1 or AY的值最大,输出这个最大值。
修改操作:2 l r x 将区间[l,r]的数全修改为x。
这里or指或操作。
第一行输入两个正整数n,m表示数组长度(1<=n<=1e6),操作个数(1<=m<=5e5)。
第二行输入n个数表示A[i](1<=A[i]<230)。
接下来m行首先输入一个数op(op==1 || op==2)当op=1时输入两个正整数l,r,否则输入三个正整数l,r,x(1<=l<=r<=n,1<=x<230)。
对于每一个查询操作输出最大值,每个答案占一行