众所周知,中学生代表了ICPC竞赛的最高水平。例如去年的上海区域赛,前四名都是中学生队伍,且同其他队伍有题数的差距。
作为大学生的你,莫名其妙获得了去一所知名中学,“云南一中”参加集训的机会。在那里,你和中学生一同参加五小时的OI比赛。你焦头烂额然而并没有做出最简单的一道题目!
排行榜如下。
(排行榜PS自真实比赛的真实排行榜,比赛中此题被95%的人AC)
你从梦中醒来,惊觉这是一场梦,只是这道题,过于真实了些。
你逐渐记起了题目。
对于一个序列 A,A,A, 其区间 [L,R][L, R][L,R] 的值就是 Max(AL,AL+1,⋯ ,AR−1,AR)\operatorname{Max}\left(A_{L}, A_{L+1}, \cdots, A_{R-1}, A_{R}\right)Max(AL,AL+1,⋯,AR−1,AR) 有两种操作:
第一行两个数字 nnn 和 qqq,表示序列长度和操作及询问数。
接下来一行 nnn 个整数,表示序列 AAA。
接下来 qqq 行,每行第一个数 TyTyTy,表示是哪种操作或询问。
如果 Ty=1Ty = 1Ty=1,那么紧接着有三个数 L,R,X,L, R, X, \quadL,R,X, 表示对于 L≤i≤RL \leq i \leq RL≤i≤R 将 AiA_{i}Ai 更新为 AiA_{i}Ai and XXX。
如果 Ty=2Ty = 2Ty=2 ,那么紧接着有三个数 L,R,X,L, R, X, \quadL,R,X, 表示对于 L≤i≤RL \leq i \leq RL≤i≤R 将 AiA_{i}Ai 更新为 AiA_{i}Ai or XXX。
如果 Ty=3,T y=3,Ty=3, 那么紧接着有两个数 L,R,L, R,L,R, 询问 Max(AL,AL+1,⋯ ,AR−1,AR)M a x\left(A_{L}, A_{L+1}, \cdots, A_{R-1}, A_{R}\right)Max(AL,AL+1,⋯,AR−1,AR)
对于每个询问,输出一行一个整数表示答案。
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
1≤n,q≤200000,0≤Ai,X<220,1≤L≤R≤n1 \leq n, q \leq 200000,0 \leq A_{i}, X<2^{20}, 1 \leq L \leq R \leq n1≤n,q≤200000,0≤Ai,X<220,1≤L≤R≤n