Soit une séquence $A_1, A_2, \ldots, A_N$ de longueur $N$, et une séquence $B$ de longueur $N$ initialement avec $B_i = 0$. Écrivez un programme qui exécute les requêtes suivantes :
1 L R X: Pour tout $L \le i \le R$, poser $A_i = A_i + X$.2 L R Y: Pour tout $L \le i \le R$, poser $A_i = \max(A_i, Y)$.3 L R Y: Pour tout $L \le i \le R$, poser $A_i = \min(A_i, Y)$.4 L R: Afficher $B_L + B_{L+1} + \ldots + B_R$.
Chaque fois qu'une requête de type 1, 2 ou 3 modifie la valeur de $A_i$, la valeur de $B_i$ est augmentée de $1$.
Entrée
La première ligne contient la taille de la séquence $N$. ($1 \le N \le 500\,000$)
La deuxième ligne contient $A_1, A_2, \ldots, A_N$. ($-10^9 \le A_i \le 10^9$)
La troisième ligne contient le nombre de requêtes $M$. ($1 \le M \le 500\,000$)
Les $M$ lignes suivantes décrivent chacune une requête. ($1 \le L \le R \le N$, $-2\,000 \le X \le 2\,000$, $-10^9 \le Y \le 10^9$) Il y a au moins une requête de type 4.
Sortie
Pour chaque requête de type 4, afficher une ligne avec le résultat.
Exemples
Entrée 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
Sortie 1
0 3 4 5 5 4