You are given a sequence $A_1, A_2, \ldots, A_N$ of length $N$. Write a program to process the following queries:
1 L R X: For all $L \le i \le R$, set $A_i = \min(A_i, X)$.2 L R: Output $\max(A_L, A_{L+1}, \ldots, A_R)$.3 L R: Output $A_L + A_{L+1} + \ldots + A_R$.
Input
The first line contains the length $N$ of the sequence. ($1 \le N \le 1{,}000{,}000$)
The second line contains $A_1, A_2, \ldots, A_N$. ($0 \le A_i < 2^{31}$)
The third line contains the number $M$ of queries. ($1 \le M \le 1{,}000{,}000$)
The next $M$ lines each contain a query. ($1 \le L \le R \le N$, $0 \le X < 2^{31}$) Queries of type 2 and type 3 appear at least once.
Output
For each query of type 2 and type 3, output the result, each on a separate line.
Examples
Example Input 1
5 1 2 3 4 5 5 2 1 5 3 1 5 1 3 5 3 2 1 5 3 1 5
Example Output 1
5 15 3 12