Дан массив. Нужно научиться обрабатывать два типа запросов:
1 L R - перевернуть отрезок [L, R];
2 L R - найти минимум на отрезке [L, R].
Первая строка входного файла содержит два числа n, m (1 ≤ n, m ≤ 10^5). Во второй строке находится n чисел a_i(1 ≤ a_i ≤ 10^9) - исходный массив. Остальные m строк содержат запросы, в формате, описанном выше. Для чисел L,R выполняется ограничение (1 ≤ L, R ≤ n).
На каждый запрос типа 2 выведите ответ на него в отдельной строке.