Cho dãy số $A_1, A_2, \ldots, A_N$ có độ dài $N$. Viết chương trình thực hiện các truy vấn sau:
1 i: In ra $A_i$. ($1 \le i \le N$)2 x y t: Nếu tồn tại một số nhỏ hơn $t$ trong $A_x, A_{x+1}, \ldots, A_y$, bỏ qua truy vấn này. Ngược lại, trừ $t$ vào mỗi phần tử $A_x, A_{x+1}, \ldots, A_y$. ($1 \le x \le y \le N$, $1 \le t \le 10^{18}$)3 x y t: Với mọi $x \le i \le y$, đặt $A_i = t + i - y$. ($1 \le x \le y \le N$, $t - y + x \ge 0$, $1 \le t \le 10^{18}$)4 x y: Với mọi $x \le i \le y$, đặt $A_i = \lfloor \sqrt A_i \rfloor$. ($1 \le x \le y \le N$)
Dữ liệu vào
Dòng đầu tiên chứa hai số nguyên $N$ và $Q$, độ dài dãy số và số lượng truy vấn. ($1 \le N \le 100{,}000$, $1 \le Q \le 500{,}000$)
Dòng thứ hai chứa $A_1, A_2, \ldots, A_N$. ($1 \le A_i \le 10^{18}$)
$Q$ dòng tiếp theo, mỗi dòng chứa một truy vấn như mô tả ở trên.
Dữ liệu ra
Với mỗi truy vấn loại 1 i, in ra một dòng chứa kết quả theo thứ tự.