Розглянемо масив , який спочатку містить чисел. Елементи масиву нумеруються зліва направо, починаючи з . Далі можна виконувати такі операції з масивом:
I — вставити число після елемента на позиції . Усі числа на позиціях більше зсуваються вправо на одну позицію, довжина масиву збільшується на . Позиції нумеруються з . I 0 x — вставка елемента на початок масиву, I 1 x — після першого елемента тощо.
D — видалити елемент на позиції . Усі числа на позиціях більше зсуваються вліво на одну позицію, довжина масиву зменшується на .
S i_1 i_2 — поміняти місцями відрізки масиву [i_1,\ldots,i_1+\text{len}] і [i_2,\ldots,i_2+\text{len}]. Для кожного k=0,1,\ldots, \text{len} обміняти A_{i_1 + k} і A_{i_2 + k}. Гарантується, що ці відрізки не перетинаються.
A — вивести число, яке знаходиться зараз на позиції .
Вам необхідно виконати всі описані дії у зазначеному порядку.
У першому рядку дано два числа і (1 \le n,\ m \le 100\ 000), де — кількість запитів. У другому рядку розміщено чисел — початкові елементи масиву. Далі йдуть рядків опису операцій, кожна містить тип та параметри, розділені пробілом. Гарантується, що під час виконання операцій масив ніколи не буде порожнім. Індекси в операціях — від до поточного розміру масиву, окрім операції I 0 x. Усі вхідні числа знаходяться у межах від до 10^9 включно.
Для кожного запиту A вивести відповідь на окремому рядку. Після виконання всіх операцій вивести отриманий масив.
Приклад 1