Дана последовательность $A_1, A_2, \ldots, A_N$ длины $N$ и последовательность $B$ длины $N$, изначально $B_i = 0$. Напишите программу для выполнения следующих запросов:
1 L R X: Для всех $L \le i \le R$ установить $A_i = A_i + X$.2 L R Y: Для всех $L \le i \le R$ установить $A_i = \max(A_i, Y)$.3 L R Y: Для всех $L \le i \le R$ установить $A_i = \min(A_i, Y)$.4 L R: Вывести $B_L + B_{L+1} + \ldots + B_R$.
Всякий раз, когда запрос типа 1, 2 или 3 приводит к изменению $A_i$, значение $B_i$ увеличивается на $1$.
Входные данные
Первая строка содержит размер последовательности $N$. ($1 \le N \le 500\,000$)
Вторая строка содержит $A_1, A_2, \ldots, A_N$. ($-10^9 \le A_i \le 10^9$)
Третья строка содержит количество запросов $M$. ($1 \le M \le 500\,000$)
Следующие $M$ строк каждая описывает запрос. ($1 \le L \le R \le N$, $-2\,000 \le X \le 2\,000$, $-10^9 \le Y \le 10^9$) Гарантируется, что есть хотя бы один запрос типа 4.
Выходные данные
Для каждого запроса типа 4 выведите одну строку с результатом.
Примеры
Входные данные 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
Выходные данные 1
0 3 4 5 5 4