#1211. 集训

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: nocriz🦆

题目描述

众所周知,中学生代表了ICPC竞赛的最高水平。例如去年的上海区域赛,前四名都是中学生队伍,且同其他队伍有题数的差距。

作为大学生的你,莫名其妙获得了去一所知名中学,“云南一中”参加集训的机会。在那里,你和中学生一同参加五小时的OI比赛。你焦头烂额然而并没有做出最简单的一道题目!

排行榜如下。

Urw8ld.md.png

(排行榜PS自真实比赛的真实排行榜,比赛中此题被95%的人AC)

你从梦中醒来,惊觉这是一场梦,只是这道题,过于真实了些。

你逐渐记起了题目。

对于一个序列 A,A, 其区间 [L,R][L, R] 的值就是 Max(AL,AL+1,,AR1,AR)\operatorname{Max}\left(A_{L}, A_{L+1}, \cdots, A_{R-1}, A_{R}\right) 有两种操作:

  1. 给出 L,R,X,L, R, X, 对于 LiR,L \leq i \leq R,AiA_{i} 更新为 AiA_{i} and XX
  2. 给出 L,R,X,L, R, X, 对于 LiR,L \leq i \leq R,AiA_{i} 更新为 AiA_{i} or XX
    在某些时候,还会询问一个区间[L, R]的值。

输入格式

第一行两个数字 nnqq,表示序列长度和操作及询问数。

接下来一行 nn 个整数,表示序列 AA

接下来 qq 行,每行第一个数 TyTy,表示是哪种操作或询问。

如果 Ty=1Ty = 1,那么紧接着有三个数 L,R,X,L, R, X, \quad 表示对于 LiRL \leq i \leq RAiA_{i} 更新为 AiA_{i} and XX

如果 Ty=2Ty = 2 ,那么紧接着有三个数 L,R,X,L, R, X, \quad 表示对于 LiRL \leq i \leq RAiA_{i} 更新为 AiA_{i} or XX

如果 Ty=3,T y=3, 那么紧接着有两个数 L,R,L, R, 询问 Max(AL,AL+1,,AR1,AR)M a x\left(A_{L}, A_{L+1}, \cdots, A_{R-1}, A_{R}\right)

输出格式

对于每个询问,输出一行一个整数表示答案。

样例

5 8 
1 3 2 5 4 
3 1 3 
2 1 1 5 
3 1 3 
1 1 4 6 
2 3 4 1 
3 2 3 
2 2 3 4 
3 1 5
3
5
3
7

数据范围与提示

1n,q200000,0Ai,X<220,1LRn1 \leq n, q \leq 200000,0 \leq A_{i}, X<2^{20}, 1 \leq L \leq R \leq n