你有一个长为 n 的序列 a,现在要对其进行 m 次操作。操作分为两种:
对于所有数据,n,m\leq 10^5,-2^{30}\leq a_i,k<2^{30},1\leq l\leq r\leq n。
注意:负数按照 32 位补码取按位或。
输入共 m+2 行。
第 1 行输入 2 个正整数 n,m。
第 2 行输入 n 个整数 a_1\ldots a_n。
接下来 m 行,每行先输入 1 个正整数 op,op=1 输入 2 个整数 l,r 表示一次询问,否则输入 3 个整数 l,r,k 表示一次修改。
输出共若干行,每行共 1 个整数,表示询问的答案。
15 15 512 -65 33554432 32 8194 13 16 2 67108872 131072 -8192 8194 16 2048 4096 1 3 5 1 10 10 2 1 7 671367424 1 8 14 1 5 11 2 13 13 335579137 2 2 13 5376 1 2 5 2 5 6 8392768 1 1 2 2 2 14 201335872 2 1 14 0 1 11 12 1 8 12 1 4 9
33562658 131072 67242012 2081350441 2047680290 671367936 201340226 805489228 3373416393