Задачі
Переворот
Переворот
Задано масив. Потрібно навчитись опрацьовувати два типи запитів:
\begin{itemize}
\item \textbf{1 L R} - перевернути відрізок \textbf{\[L, R\]};
\item \textbf{2 L R} - знайти мінімум на відрізку \textbf{\[L, R\]}.
\end{itemize}
\InputFile
Перший рядок вхідного файла містить два числа \textbf{n}, \textbf{m} (\textbf{1} ≤ \textbf{n}, \textbf{m} ≤ \textbf{10^5}). У другому рядку знаходиться \textbf{n} чисел \textbf{a_i} (\textbf{1} ≤ \textbf{a_i} ≤ \textbf{10^9}) - початковий масив. Інші \textbf{m} рядків містять запити, у форматі, описаному вище. Для чисел \textbf{L}, \textbf{R }виконується обмеження (\textbf{1} ≤ \textbf{L}, \textbf{R} ≤ \textbf{n}).
\OutputFile
На кожен запит типу \textbf{2} виведіть відповідь на нього у окремому рядку.
Вхідні дані #1
10 7 5 3 2 3 12 6 7 5 10 12 2 4 9 1 4 6 2 1 8 1 1 8 1 8 9 2 1 7 2 3 6
Вихідні дані #1
3 2 2 2
Пояснення: Цю задачу потрібно здавати при допомозі Splay Tree.