EduBrick

Обмен половин

3000 мс · 256 МБ · всё или ничего

Дан массив. Запросы: 1 l r — поменять местами две половины отрезка [l,r][l, r] (длина отрезка всегда чётна); 2 p — вывести элемент на позиции pp.

Формат ввода

В первой строке — числа nn и mm (2≤n≤1052 \le n \le 10^5, 1≤m≤1051 \le m \le 10^5). Во второй — nn чисел (∣ai∣≤109|a_i| \le 10^9). Далее mm запросов; длина отрезка в запросе первого вида чётна.

Формат вывода

На каждый запрос второго вида выведите элемент.

Примеры

ввод
6 3
1 2 3 4 5 6
1 1 4
2 1
2 3
вывод
3
1
ввод
2 1
7 9
2 2
вывод
9
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.