eolymp
bolt
Try our new interface for solving problems
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} нужно вывести ответ.
Time limit 4 seconds
Memory limit 256 MiB
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