Dada una secuencia $A_1, A_2, \ldots, A_N$ de longitud $N$, y una secuencia $B$ de longitud $N$ inicialmente con $B_i = 0$. Escribe un programa para ejecutar las siguientes consultas:
1 L R X: Para todo $L \le i \le R$, asigna $A_i = A_i + X$.2 L R Y: Para todo $L \le i \le R$, asigna $A_i = \max(A_i, Y)$.3 L R Y: Para todo $L \le i \le R$, asigna $A_i = \min(A_i, Y)$.4 L R: Imprime $B_L + B_{L+1} + \ldots + B_R$.
Siempre que una consulta de tipo 1, 2 o 3 provoque un cambio en $A_i$, el valor de $B_i$ se incrementa en $1$.
Entrada
La primera línea contiene el tamaño de la secuencia $N$. ($1 \le N \le 500\,000$)
La segunda línea contiene $A_1, A_2, \ldots, A_N$. ($-10^9 \le A_i \le 10^9$)
La tercera línea contiene la cantidad de consultas $M$. ($1 \le M \le 500\,000$)
Las siguientes $M$ líneas describen cada una una consulta. ($1 \le L \le R \le N$, $-2\,000 \le X \le 2\,000$, $-10^9 \le Y \le 10^9$) Hay al menos una consulta de tipo 4.
Salida
Para cada consulta de tipo 4, imprime una línea con el resultado.
Ejemplos
Entrada 1
5 1 2 3 4 5 11 4 1 5 1 1 3 3 4 1 5 2 2 5 5 4 1 5 3 1 4 5 4 1 4 2 1 5 0 4 1 5 3 1 5 1 4 1 2
Salida 1
0 3 4 5 5 4