Dany jest ciąg $A_1, A_2, \ldots, A_N$ o długości $N$. Napisz program, który przetworzy następujące zapytania:
1 L R X: Dla wszystkich $L \le i \le R$ ustaw $A_i = \min(A_i, X)$.2 L R: Wypisz $\max(A_L, A_{L+1}, \ldots, A_R)$.3 L R: Wypisz $A_L + A_{L+1} + \ldots + A_R$.
Wejście
Pierwszy wiersz zawiera długość $N$ ciągu. ($1 \le N \le 1{,}000{,}000$)
Drugi wiersz zawiera $A_1, A_2, \ldots, A_N$. ($0 \le A_i < 2^{31}$)
Trzeci wiersz zawiera liczbę $M$ zapytań. ($1 \le M \le 1{,}000{,}000$)
Kolejne $M$ wierszy zawiera zapytania. ($1 \le L \le R \le N$, $0 \le X < 2^{31}$) Zapytania typu 2 i 3 występują co najmniej raz.
Wyjście
Dla każdego zapytania typu 2 i 3 wypisz wynik, każdy w osobnym wierszu.
Przykład
Wejście 1
5 1 2 3 4 5 5 2 1 5 3 1 5 1 3 5 3 2 1 5 3 1 5
Wyjście 1
5 15 3 12