Istnieje ciąg $A_0, A_1, \ldots, A_{n-1}$ długości $n$. Napisz program, który wykona następujące zapytania:
1 l r c: Dodaj $c$ do wszystkich $A_i$ z przedziału $l \le i \le r$.2 l r d: Zastąp wszystkie $A_i$ z przedziału $l \le i \le r$ przez $\lfloor A_i/d \rfloor$.3 l r: Wypisz minimum wszystkich $A_i$ w przedziale $l \le i \le r$.4 l r: Wypisz sumę wszystkich $A_i$ w przedziale $l \le i \le r$.
gdzie $\lfloor x \rfloor$ oznacza największą liczbę całkowitą $y$ taką, że $y \le x$ (na przykład $\lfloor -2.5 \rfloor = -3$, $\lfloor -7 \rfloor = -7$).
Wejście
Pierwszy wiersz zawiera dwie liczby całkowite $n$ i $q$ ($1 \le n, q \le 100\,000$), oznaczające długość ciągu i liczbę zapytań.
Drugi wiersz zawiera $n$ liczb całkowitych $A_0, A_1, \ldots, A_{n-1}$ ($-10^9 \le A_i \le 10^9$).
Każdy z kolejnych $q$ wierszy zawiera zapytanie ($0 \le l \le r \le n-1$, $-10^4 \le c \le 10^4$, $2 \le d \le 10^9$).
Wyjście
Przy każdym napotkaniu zapytania typu 3 lub typu 4 wypisz jedną odpowiedź w osobnym wierszu.
Przykład
Wejście 1
10 10 -5 -4 -3 -2 -1 0 1 2 3 4 1 0 4 1 1 5 9 1 2 0 9 3 3 0 9 4 0 9 3 0 1 4 2 3 3 4 5 4 6 7 3 8 9
Wyjście 1
-2 -2 -2 -2 0 1 1