Вам дается массив
a размера
n и
q запросов к нему. Есть запросы двух типов:
-
1 li ri — осуществить циклический сдвиг отрезка [li, ri] вправо. То есть, для каждого такого x, что li ≤ x < ri, ax + 1 становится равным прежнему значению ax, а ali становится равным прежнему значению ari;
-
2 li ri — перевернуть отрезок [li, ri].
Необходимо вывести массив после обработки всех запросов.
Входные данные
В первой строке записаны два целых числа
n и
q (1 ≤
n,
q ≤ 2·10
5).
Во второй строке записаны
n целых чисел
a1,
a2, ...,
an (1 ≤
ai ≤ 10
9).
Дальше идут
q строк. В
i-й из них записаны три целых числа
ti,
li,
ri, где
ti — тип
i-го запроса, [
li,
ri] — отрезок, на котором запрос выполняется (1 ≤
ti ≤ 2, 1 ≤
li ≤
ri ≤
n).
Выходные данные
Выведите
m чисел,
i-е из которых равно числу на позиции
bi после обработки всех запросов.
Ввод |
Вывод |
6 3
1 2 3 4 5 6
2 1 3
2 3 6
1 1 6
|
1 3 2 6 5 4 |
(c) Курбатов Е., 2018