Масив
Розглянемо масив A, який спочатку містить N чисел. Припустимо, що числа у масиві нумеруються зліва направо, починаючи з одиниці. Розглянемо наступні операції з цим масивом.
I i x - вставити число x після числа, яке стоїть на позиції i, при цьому усі числа, які стояли на позиціях, більших i, зсуваються праворуч, і довжина масиву збільшується на 1. Позиції у масиві нумеруються з одиниці. I 0 x означає додати елемент у початок масиву, I 1 x означає вставити елемент після першого числа і т.д.
D i - видалити елемент, який стоїть на позиції i. При цьому усі числа, які стояли на позиціях, більших i, зсуваються на 1 ліворуч, і довжина масиву зменшується на 1.
S i_1 i_2 len - поміняти місцями блоки масиву [i_1, ..., i_1+len] та [i_2, ..., i_2+len]. В результаті цієї операції повинні помінятись значеннями елементи масиву A[i_1] і A[i_2], A[i_1+1] і A[i_2+1], і т.д. Гарантується, що відрізки [i_1, i_1+len] та [i_2, i_2+len] не перетинаються.
A i - взнати, яке число знаходиться у даний момент на позиції i.
Вам належить виконати усі описані операції.
Вхідні дані
У першому рядку містяться числа N та M (1 ≤ N, M ≤ 100000), де M - кількість запитів. Далі йде N чисел - елементи масиву до виконання яких небудь операцій. Наступні M рядків містять операції, які необхідно виконати. Кожна операція задається рядком, у якому спочатку позначається вид операції, а потім заються її парамети, перераховані через пропуск. Гарантується, що у процесіе виконання операцій масив завжди буде не порожнім. Усі індекси, які використовуються в операціях, будуть в межах від 1 до поточного розміру масива, за винятком операції I 0 x, яка відповідає додаванню у початок масиву. Усі вхідні числа від 0 до 10^9.
Вихідні дані
На кожен запит A виведіть відповідь на нього у окремому рядку. Крім того, після виконання усіх операцій виведіть результуючий масив.