J. Порталы в Нархозе
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В университете Нархоз факультеты — это не просто кафедры, это часть живой, развивающейся структуры.

Существует $$$n$$$ факультетов, расположенных в круглом здании. Это значит, что факультет $$$0$$$ является соседом факультета $$$n - 1$$$. У каждого факультета есть тип — возможно, это экономика, бизнес или даже магическая бухгалтерия — и каждый тип представлен целым числом.

Университет оснащён высокотехнологичными порталами, позволяющими мгновенно перемещаться между любыми двумя факультетами одного и того же типа.

Но иногда этого недостаточно. Поэтому разрешается строить коридоры между соседними факультетами, то есть между факультетом $$$i$$$ и $$$(i + 1) \bmod n$$$. После строительства по ним можно свободно передвигаться в обоих направлениях.

Кроме того, факультеты любят менять свой имидж. В любой момент факультет может изменить свой тип (вдруг они решили перейти на крипто-финансы).

Вы получите $$$q$$$ запросов, каждый из которых может быть одного из следующих видов:

  • $$$1$$$ $$$i$$$ $$$x$$$ — факультет $$$i$$$ меняет свой тип на $$$x$$$;
  • $$$2$$$ $$$i$$$ — между факультетом $$$i$$$ и $$$i + 1$$$ $$$mod$$$ $$$n$$$ строится коридор;
  • $$$3$$$ $$$a$$$ $$$b$$$ — проверьте, можно ли добраться от факультета $$$a$$$ до факультета $$$b$$$, используя любое количество коридоров и/или порталов.

Ваша задача — для каждого запроса типа 3 вывести YES, если перемещение возможно, и NO в противном случае.

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

Первая строка содержит два целых числа $$$n$$$ и $$$q$$$ — количество факультетов и количество запросов соответственно ($$$1 \le n, q \le 10^5$$$).

Вторая строка содержит $$$n$$$ целых чисел: $$$t_0, t_1, \dots, t_{n-1}$$$ — начальные типы факультетов ($$$0 \le t_i \lt 10^{18}$$$).

Каждая из следующих $$$q$$$ строк описывает один запрос в одном из следующих форматов:

  • $$$1$$$ $$$i$$$ $$$x$$$ ($$$0 \le i \lt n,\ 0 \le x \lt 10^{18}$$$)
  • $$$2$$$ $$$i$$$ ($$$0 \le i \lt n$$$)
  • $$$3$$$ $$$a$$$ $$$b$$$ ($$$0 \le a, b \lt n$$$)

Гарантируется, что все запросы типа $$$2$$$ — уникальны (между каждой парой соседей можно построить коридор не более одного раза).

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

Для каждого запроса типа $$$3$$$ выведите YES, если из факультета $$$a$$$ можно добраться до факультета $$$b$$$, иначе выведите NO.

Примеры
Входные данные
3 3
0 0 2
2 2
3 0 2
1 0 0
Выходные данные
YES
Входные данные
10 9
2 1 0 1 2 1 2 0 2 2
2 6
1 5 3
2 5
1 5 4
3 0 6
1 9 3
2 2
2 7
3 9 3
Выходные данные
YES
NO