题目描述
在刚刚结束的水题嘉年华的压轴节目放水大赛中,wyywyy 如愿以偿的得到了最假女选手的奖项。但是作为主办人的 C_SUNSHINE 为了证明 wyywyy 确实在放水,决定出一道基础题考察 wyywyy 的姿势水平。
给定一个长度为 n 的序列 a,编号从 1 到 n。要求支持下面几种操作:
- 给一个区间 [l,r] 加上一个数 x;
- 把一个区间 [l,r] 里小于 x 的数变成 x;
- 把一个区间 [l,r] 里大于 x 的数变成 x;
- 求区间 [l,r] 的和;
- 求区间 [l,r] 的最大值;
- 求区间 [l,r] 的最小值。
输入格式
第一行一个整数 n 表示序列长度。
第二行 n 个整数 ai 表示初始序列。
第三行一个整数 m 表示操作个数。
接下来 m 行,每行三或四个整数,对应一个题目中所描述的操作。
输出格式
对于每个 4,5,6 类型的操作输出一行一个整数表示答案。
样例
输入
2
1 2
2
2 1 2 2
4 1 2
输出
4
数据范围与提示
对于 100% 的数据,n,m≤5×105,∣ai∣≤108。
对于所有类型为 1 的操作满足 ∣x∣≤1000,其余修改操作满足 ∣x∣≤108。