E. Пинг-Понг
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

В этой задаче в каждый момент времени у Вас есть набор интервалов. Вам разрешено перейти от интервала (a, b) из набора к интервалу (c, d) из набора тогда и только тогда, когда c < a < d или c < b < d. Считается, что путь от интервала I1 к интервалу I2 существует, если есть последовательность переходов, начинающихся с I1, таких, что можно добраться до I2.

Ваша программа должна обрабатывать запросы двух следующих типов:

  1. «1 x y» (x < y) — добавьте новый интервал (x, y) в набор интервалов. Длина нового интервала гарантированно строго больше длин всех предыдущих интервалов.
  2. «2 a b» (a ≠ b) — ответьте на вопрос: есть ли путь от a-го (один-индексация) добавленного интервала до b-го (один-индексация) добавленного интервала?

Выполните все запросы. Считайте, что изначально в вашем наборе нет ни одного интервала.

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

Первая строка содержит целое число n (1 ≤ n ≤ 105), обозначающее количество запросов. Каждая из следующих строк содержит запрос в формате, описанном выше. Все числа во входных данных целые и не превосходят по модулю 109.

Гарантируется, что все запросы корректные.

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

Для каждого запроса второго типа выведите «YES» или «NO» в отдельной строке в зависимости от ответа на вопрос.

Примеры
Входные данные
5
1 1 5
1 5 11
2 1 2
1 2 9
2 1 2
Выходные данные
NO
YES