Given a sequence $A_1, A_2, \ldots, A_N$ of length $N$, and two sequences $B$ and $C$ of length $N$, initially satisfying $B_i = A_i$ and $C_i = A_i$. Write a program to process the following queries:
1 L R X: For all $L \le i \le R$, set $A_i = A_i + X$.2 L R Y: For all $L \le i \le R$, set $A_i = \max(A_i, Y)$.3 L R Y: For all $L \le i \le R$, set $A_i = \min(A_i, Y)$.4 L R: Output $\min(A_L, A_{L+1}, \ldots, A_R)$.5 L R: Output $\min(B_L, B_{L+1}, \ldots, B_R)$.6 L R: Output $\max(C_L, C_{L+1}, \ldots, C_R)$.
After each query, for all $1 \le i \le N$, update $B_i = \min(B_i, A_i)$ and $C_i = \max(C_i, A_i)$.
Input
The first line contains an integer $N$, the length of the sequence. ($1 \le N \le 500{,}000$)
The second line contains $N$ integers $A_1, A_2, \ldots, A_N$. ($-10^9 \le A_i \le 10^9$)
The third line contains an integer $M$, the number of queries. ($1 \le M \le 500{,}000$)
The next $M$ lines each contain a query. ($1 \le L \le R \le N$, $-2{,}000 \le X \le 2{,}000$, $-10^9 \le Y \le 10^9$) Queries of types $4$, $5$, and $6$ each appear at least once.
Output
For each query of types $4$, $5$, and $6$, output the answer, each on a separate line.
Examples
Input 1
3 1 2 3 6 5 3 3 1 2 3 -2 3 1 3 0 5 3 3 2 2 3 4 5 1 3
Output 1
3 0 0