В этой задаче в каждый момент времени у Вас есть набор интервалов. Вам разрешено перейти от интервала (a, b) из набора к интервалу (c, d) из набора тогда и только тогда, когда c < a < d или c < b < d. Считается, что путь от интервала I1 к интервалу I2 существует, если есть последовательность переходов, начинающихся с I1, таких, что можно добраться до I2.
Ваша программа должна обрабатывать запросы двух следующих типов:
- «1 x y» (x < y) — добавьте новый интервал (x, y) в набор интервалов. Длина нового интервала гарантированно строго больше длин всех предыдущих интервалов.
- «2 a b» (a ≠ b) — ответьте на вопрос: есть ли путь от a-го (один-индексация) добавленного интервала до b-го (один-индексация) добавленного интервала?
Выполните все запросы. Считайте, что изначально в вашем наборе нет ни одного интервала.
Выходные данные
Для каждого запроса второго типа выведите «YES» или «NO» в отдельной строке в зависимости от ответа на вопрос.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 1 1 5 1 5 11 2 1 2 1 2 9 2 1 2
|
NO
YES
|