Dada una secuencia $A_1, A_2, \ldots, A_N$ de longitud $N$, y dos secuencias $B$ y $C$ de longitud $N$, que inicialmente satisfacen $B_i = A_i$ y $C_i = A_i$. Escribe un programa para procesar las siguientes consultas:
1 L R X: Para todo $L \le i \le R$, establece $A_i = A_i + X$.2 L R Y: Para todo $L \le i \le R$, establece $A_i = \max(A_i, Y)$.3 L R Y: Para todo $L \le i \le R$, establece $A_i = \min(A_i, Y)$.4 L R: Imprime $\min(A_L, A_{L+1}, \ldots, A_R)$.5 L R: Imprime $\min(B_L, B_{L+1}, \ldots, B_R)$.6 L R: Imprime $\max(C_L, C_{L+1}, \ldots, C_R)$.
Después de cada consulta, para todo $1 \le i \le N$, actualiza $B_i = \min(B_i, A_i)$ y $C_i = \max(C_i, A_i)$.
Entrada
La primera línea contiene un entero $N$, la longitud de la secuencia. ($1 \le N \le 500{,}000$)
La segunda línea contiene $N$ enteros $A_1, A_2, \ldots, A_N$. ($-10^9 \le A_i \le 10^9$)
La tercera línea contiene un entero $M$, el número de consultas. ($1 \le M \le 500{,}000$)
Las siguientes $M$ líneas contienen 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$) Las consultas de tipos $4$, $5$ y $6$ aparecen al menos una vez.
Salida
Para cada consulta de tipos $4$, $5$ y $6$, imprime la respuesta, cada una en una línea separada.
Ejemplos
Entrada 1
3 1 2 3 6 5 3 3 1 2 3 -2 3 1 3 0 5 3 3 2 2 3 4 5 1 3
Salida 1
3 0 0