Дана последовательность $A_1, A_2, \ldots, A_N$ длины $N$. Напишите программу для обработки следующих запросов:
1 L R X: Для всех $L \le i \le R$ положить $A_i = \min(A_i, X)$.2 L R: Вывести $\max(A_L, A_{L+1}, \ldots, A_R)$.3 L R: Вывести $A_L + A_{L+1} + \ldots + A_R$.
Входные данные
Первая строка содержит длину $N$ последовательности. ($1 \le N \le 1{,}000{,}000$)
Вторая строка содержит $A_1, A_2, \ldots, A_N$. ($0 \le A_i < 2^{31}$)
Третья строка содержит количество $M$ запросов. ($1 \le M \le 1{,}000{,}000$)
Следующие $M$ строк содержат по одному запросу. ($1 \le L \le R \le N$, $0 \le X < 2^{31}$) Запросы типа 2 и типа 3 встречаются хотя бы один раз.
Выходные данные
Для каждого запроса типа 2 и типа 3 выведите результат, каждый на отдельной строке.
Примеры
Пример ввода 1
5 1 2 3 4 5 5 2 1 5 3 1 5 1 3 5 3 2 1 5 3 1 5
Пример вывода 1
5 15 3 12