A. Рудольф и карточный фокус
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Рудольф развлекает своих друзей, показывая им новый карточный фокус: он тщательно тасует колоду, а затем мгновенно находит в ней ту или иную загаданную карту! Конечно же, зрители остаются в полном восторге.

Колода Рудольфа состоит из $$$N$$$ карт, на которых написаны числа от 0 до ($$$N - 1$$$). Позиции карт в колоде также нумеруются от 0 до $$$(N - 1)$$$ в порядке от верха до низа колоды. Изначально колода упорядочена так, что номера на картах совпадают с их позициями в колоде.

Показывая фокус, Рудольф выполняет два вида действий:

  • Перетасовка колоды: $$$\texttt{shuffle}~L~R$$$. В этом случае Рудольф вынимает из колоды все карты на позициях от $$$L$$$ до $$$R$$$ включительно и перекладывает их под низ колоды (не меняя их относительного порядка);
  • Поиск карты: $$$\texttt{find}~X$$$. В этом случае Рудольф (под аплодисменты зрителей) показывает, на какой позиции в колоде находится карта, на которой изображено число $$$X$$$.

Конечно же, чтобы довести до совершенства своё умение показывать такой сложный фокус, Рудольфу приходится много тренироваться. Нужно очень точно тасовать колоду и постоянно помнить, где находится та или иная карта.

Помогите Рудольфу автоматизировать его тренировки — напишите программу, которая будет отслеживать положение карт при тасовании колоды.

Входные данные

Первая строка содержит целые числа $$$N$$$ и $$$M$$$ ($$$1 \le N, M \le 2 \cdot 10^5$$$) — соответственно количество карт в колоде и количество действий Рудольфа.

Следующие $$$M$$$ строк описывают действия Рудольфа. Каждая из них содержит слово $$$T_i$$$ ($$$T_i \in \left\{\texttt{shuffle},\texttt{find}\right\}$$$) — вид действия. Если $$$T_i = \texttt{shuffle}$$$, то далее следуют целые числа $$$L_i$$$ и $$$R_i$$$ ($$$0 \le L_i \le R_i \le N - 1$$$) — границы диапазона вынимаемых из колоды карт. Если же $$$T_i = \texttt{find}$$$, то далее следует целое число $$$X_i$$$ ($$$0 \le X_i \le N - 1$$$) — номер карты, которую требуется найти.

Гарантируется, что Рудольф хотя бы один раз выполняет действие вида $$$\texttt{find}$$$.

Выходные данные

Выведите одну или более строк, каждая из которых содержит одно целое число — для каждого действия вида $$$\texttt{find}$$$ позицию в колоде, на которой Рудольф находит соответствующую карту.

Примеры
Входные данные
2 5
find 0
find 1
shuffle 0 0
find 0
find 1
Выходные данные
0
1
1
0
Входные данные
4 6
find 2
shuffle 1 2
find 3
shuffle 0 2
find 3
find 2
Выходные данные
2
1
2
0