Дана последовательность $A_1, A_2, \ldots, A_N$ длины $N$. Требуется написать программу, выполняющую следующие запросы:
1 L R X: для всех $L \le i \le R$ выполнить $A_i = A_i + X$.2 L R S E: заменить отрезок $[L, R]$ последовательности $A$ числами из отрезка $[S, E]$. То есть, если результирующую последовательность обозначить $B$, то $B_L = A_S, B_{L+1} = A_{S+1}, \ldots, B_R = A_E$, а для всех $i$, не входящих в $L \le i \le R$, $B_i = A_i$.3 L R: вывести $A_L + A_{L+1} + \ldots + A_R$.
Входные данные
В первой строке задана длина последовательности $N$ ($1 \le N \le 200{,}000$).
Во второй строке заданы $A_1, A_2, \ldots, A_N$ ($-10^6 \le A_i \le 10^6$).
В третьей строке задано количество запросов $M$ ($1 \le M \le 200{,}000$).
В следующих $M$ строках заданы запросы, по одному на строке ($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$). Запросы типа 3 встречаются хотя бы один раз.
Выходные данные
Для каждого запроса типа 3 выведите результат на отдельной строке.
Примеры
Входные данные 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
Выходные данные 1
15 9 20