Задача №111240. Переворот

Дан массив. Надо научиться обрабатывать два типа запросов.

* 1 L R - перевернуть отрезок \([L,\,R]\)

* 2 L R - найти минимум на отрезке \([L,\,R]\)

Входные данные

Первая строка файла содержит два числа \(n\), \(m\). (\(1 \le n,m \le 10^5\)) Во второй строке находится \(n\) чисел \(a_i\) (\(1 \le a_i \le 10^9\)) — исходный массив. Остальные \(m\) строк содержат запросы, в формате описанном в условии. Для чисел \(L\), \(R\) выполняется ограничение (\(1 \le L \le R \le n\)).

Выходные данные

На каждый запрос типа 2, во входной файл выведите ответ на него, в отдельной строке.

Примеры
Входные данные
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
Выходные данные
3
2
2
2
Сдать: для сдачи задач необходимо войти в систему