C. Анонимность наше все
ограничение по времени на тест
1.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В работе врача важно сохранять анонимность своих клиентов и результатов анализов. Результаты теста отправляются каждому лично по электронной почте, но люди очень нетерпеливые и им хочется узнавать результаты сразу.

Именно поэтому в одном центре для сдачи анализов «Девитро» придумали экспериментальный способ сообщать результаты. Пусть всего анализы сдавало $$$n$$$ человек в порядке очереди. Тогда главврач Стас может сделать несколько сообщений, в каждом из которых сообщить, был ли больной человек среди людей в очереди от $$$l$$$-го до $$$r$$$-го (включительно) для некоторых значений $$$l$$$ и $$$r$$$.

В процессе Стас будет проверять, насколько хорошо работает эта схема, и будет интересоваться, можно ли однозначно узнать результат анализа $$$i$$$-го человека по уже сообщенной информации. И если это сделать можно, то болен ли этот человек.

Помогите Стасу протестировать свою схему.

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

В первой строке находится два целых числа $$$n$$$ и $$$q$$$ ($$$1 \le n, q \le 2 \cdot 10^5$$$) — количество людей, сдавших анализы и количество запросов.

В каждой из следующих $$$q$$$ строк находится описание запросов. Первое число в строке $$$t$$$ ($$$t = 0$$$ или $$$t = 1$$$) — тип запроса.

Если $$$t = 0$$$, то дальше в этой строке находятся еще три целых числа $$$l, r, x$$$ ($$$1 \le l \le r \le n$$$, $$$x = 0$$$ или $$$x = 1$$$). Этот запрос соответствует тому, что Стас сообщает, что среди людей от $$$l$$$-го до $$$r$$$-го (включительно) в очереди:

  • был больной, если $$$x=1$$$,
  • не было больного, если $$$x=0$$$.

Если $$$t = 1$$$, то дальше в этой строке находится одно целое число $$$j$$$ ($$$1 \le j \le n$$$) — номер пациента в очереди, чья конфиденциальность волнует Стаса.

Гарантируется, что все запросы корректны, то есть всегда существует пример очереди длины $$$n$$$, для которой все озвученные результаты (утверждения из запросов, где $$$t = 0$$$) корректны.

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

После каждого вопроса Стаса (запроса с $$$t = 1$$$) выведите:

  • «NO», если пациент однозначно не болен,
  • «YES», если пациент однозначно болен,
  • «N/A», если по имеющейся информации нельзя однозначно сказать, болен пациент или нет.
Пример
Входные данные
6 9
0 4 5 0
1 5
1 6
0 4 6 1
1 6
0 2 5 1
0 2 2 0
1 3
1 2
Выходные данные
NO
N/A
YES
YES
NO
Примечание

В первом тесте для первых пяти запросов:

  1. Изначально Стас сообщает, что среди $$$4$$$, $$$5$$$ людей нет больных.
  2. В следующем запросе Стас интересуется конфиденциальностью человека $$$5$$$. Из предыдущего запроса мы знаем, что он однозначно не болен.
  3. В следующем запросе Стас интересуется конфиденциальностью человека $$$6$$$. Мы не знаем про него вообще никакой информации, поэтому он может быть как болен, так и не болен.
  4. Затем Стас сообщает, что среди $$$4$$$, $$$5$$$, $$$6$$$ людей есть больной.
  5. В следующем запросе Стас интересуется конфиденциальностью человека $$$6$$$. Теперь мы можем однозначно сказать, что он болен, потому что из предыдущего запроса среди трех человек болен мог быть только он.