DVDи
Магазини прокату DVD поступово зникають через популярність онлайн-відеострімінгу. Проте, нещодавно вийшов дуже популярний серіал, і магазини сподіваються, що він підвищить їхню популярність. Цей серіал складається з ( n ) DVD-дисків, пронумерованих від 0 до N-1.
Ви керуєте магазином прокату і маєте спеціальну полицю для цього серіалу. На цій полиці є N слотів, також пронумерованих від 0 до N-1. Коли ви вперше отримуєте цей серіал, ви розміщуєте DVD номер ( i ) у слот номер ( i ). Клієнт, який є шанувальником цього серіалу, захоче взяти послідовність DVD-дисків, пронумерованих від l до r. Знаючи, що у вас є полиця для цього серіалу, клієнт просто забере всі DVD-диски зі слотів від l до r, не перевіряючи фактичний індекс DVD-дисків.
Однак є один божевільний клієнт, який приходить у ваш магазин лише для того, щоб поміняти місцями два DVD-диски у слотах. Тобто, цей клієнт бере DVD зі слота a і обмінює його з DVD у слоті b. Це створює багато проблем для звичайних клієнтів, оскільки вони не перевіряють індекси DVD-дисків. Без жодної причини цей божевільний клієнт досить часто приходить у ваш магазин, і у вас немає достатньо часу, щоб його прогнати.
Ваше завдання - написати програму, яка контролює діяльність у цьому магазині і визначає, чи отримує клієнт, який бере напрокат, насправді ті DVD-диски, які вона хоче, тобто чи отримує клієнт насправді DVD-диски, пронумеровані від l до r. Зверніть увагу, що DVD-диски можуть бути в будь-якому порядку, ми просто хочемо знати, чи отримує клієнт DVD-диски, пронумеровані від l до r. Наприклад, якщо клієнт приходить, щоб взяти DVD-диски зі слотів 2 до 4, і слоти 2, 3 та 4 мають DVD-диски, пронумеровані 4, 2 та 3, відповідно, ми скажемо, що клієнт отримує те, що вона хоче.
Для простоти ми припустимо, що коли клієнт бере напрокат DVD-диски, вона відразу ж переглядає всі їх і повертає на ті ж слоти, з яких вони були взяті. Іншими словами, прокат DVD-дисків не впливає на їхнє розташування взагалі.
Вхідні дані
Перша строка введення містить кількість тестових випадків T ≤ 20. Перша строка кожного тестового випадку містить два цілі числа N та K (1 ≤ N ≤ 100000, 1 ≤ K ≤ 50000), які вказують кількість DVD-дисків та кількість дій, що відбуваються в магазині, відповідно. Наступні K строк описують дії в магазині в порядку їх виконання. Кожна строка містить три цілі числа q, a та b (q - це або 0, або 1 і 0 ≤ a ≤ b < N). Коли q дорівнює 0, це означає, що божевільний клієнт приходить, щоб поміняти місцями DVD-диски у слотах номер a та b. Коли q дорівнює 1, відбувається дія прокату. Звичайний клієнт, якому потрібні DVD-диски, пронумеровані від a до b, приходить і бере DVD-диски зі слотів a до b. Як зазначалося раніше, цей клієнт відразу ж використовує DVD-диски і повертає їх на ті ж слоти (ця дія не змінює розташування DVD-дисків).
Вихідні дані
Для кожної дії прокату виведіть рядок зі словом "YES", якщо клієнт отримує те, що вона хоче, тобто коли слоти від a до b мають DVD-диски, пронумеровані від a до b, і виведіть слово "NO" в будь-якому іншому випадку.