Se tiene una secuencia $A_1, A_2, \ldots, A_N$ de longitud $N$. Escribe un programa que realice las siguientes consultas:
1 L R X: Para todo $L \le i \le R$, aplica $A_i = A_i + X$.2 L R S E: Cambia el segmento $[L, R]$ de $A$ por los números que están en $[S, E]$. Es decir, si la secuencia resultante de esta consulta es $B$, entonces $B_L = A_S, B_{L+1} = A_{S+1}, \ldots, B_R = A_E$, y para todo $i$ que no esté en $L \le i \le R$, $B_i = A_i$.3 L R: Imprime $A_L + A_{L+1} + \ldots + A_R$.
Entrada
La primera línea contiene el tamaño de la secuencia $N$. ($1 \le N \le 200{,}000$)
La segunda línea contiene $A_1, A_2, \ldots, A_N$. ($-10^6 \le A_i \le 10^6$)
La tercera línea contiene el número de consultas $M$. ($1 \le M \le 200{,}000$)
A partir de la cuarta línea, se dan $M$ líneas, cada una con una consulta. ($1 \le L \le R \le N$, $1 \le S \le E \le N$, $E-S = R-L$, $-10^6 \le X \le 10^6$) La consulta de tipo 3 aparece al menos una vez.
Salida
Imprime los resultados de las consultas de tipo 3, cada uno en una línea aparte.
Ejemplos
Entrada 1
5 1 2 3 4 5 5 3 1 5 1 1 3 1 3 1 3 2 1 3 2 4 3 1 5
Salida 1
15 9 20