Problems
Жесть
Жесть
Дам массив из \textbf{N} чисел. Нужно уметь обрабатывать \textbf{3} типа запросов:
\begin{itemize}
\item \textbf{get(L, R, x)} --- сказать, сколько элементов отрезка массива \textbf{\[L..R\]} не меньше \textbf{x}.
\item \textbf{set(L, R, x)} --- присвоить всем элементам массива на отрезке \textbf{\[L..R\]} значение \textbf{x}.
\item \textbf{reverse(L, R)} --- перевернуть отрезок массива \textbf{\[L..R\]}.
\end{itemize}
\InputFile
Число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{10^5}) и массив из \textbf{N} чисел. Далее число запросов \textbf{M} (\textbf{1} ≤ \textbf{M} ≤ \textbf{10^5}) и \textbf{M} запросов. Формат описания запросов предлагается понять из примера. Для всех отрезков верно \textbf{1} ≤ \textbf{L} ≤ \textbf{R} ≤ \textbf{N}. Исходные числа в массиве и числа\textbf{x} в запросах --- целые от \textbf{0} до \textbf{10^9}.
\OutputFile
Для каждого запроса типа \textbf{get} нужно вывести ответ.
Input example #1
5 1 2 3 4 5 6 get 1 5 3 set 2 4 2 get 1 5 3 reverse 1 2 get 2 5 2 get 1 1 2
Output example #1
3 1 3 1