给你一个长度为n的数列a1,a2...an,你需要支持以下三种操作:
1.三个参数l,r,d,表示区间[l,r]的所有数都加上d;
2.三个参数l,r,d,表示区间[l,r]的所有数都变为d;
3.两个参数l,r,求区间[l,r]的和,最大值,最小值。
单组数据,第一行一个正整数n。(1<=n<=10^5)
第二行n个数 a1,a2...an。(0<= |a[i]| <=10^7)
第三行一个整数m,表示m个操作。 (1<=m<=10^5)
接下来m行,每行第一个数表示操作类型,其余数表示操作对应的参数,对应题面。 (1<=l<=r<=n,0<=|v|<=10^7)
对于每一个3操作,输出一行三个整数,表示区间和,最大值,最小值。
5 1 2 3 4 5 7 1 1 1 -2 3 1 2 1 3 5 1 3 1 5 3 3 3 2 3 3 3 3 3 3
1 2 -1 16 6 -1 4 4 4 3 3 3