Ланцюги & Ко. спеціалізується на виробництві надзвичайно міцних ланцюгів. Завдяки високій якості своєї продукції, вони швидко завойовують ринок, що призводить до нових викликів, які раніше навіть не передбачалися. Наприклад, автоматична перевірка надійності ланок за допомогою комп'ютерної програми, яку вам потрібно розробити.
Компанія виготовляє ланки однакового розміру. Кожна ланка є нескінченно тонкою квадратною рамкою в тривимірному просторі (складається з чотирьох нескінченно тонких сегментів).
Під час тестування всі ланки вирівняні по осях1 і розташовані так, що жодні дві рамки не перетинаються. Для якісного випробування на міцність, дві множини ланок A та B з'єднуються так, що кожна ланка з A нерозривно пов'язана з кожною ланкою з B ("нерозривно" означає, що ланки не можна відокремити одна від одної, не розірвавши одну з них).
Ви отримали деякі ланки (вирівняні по осях, попарно непересічні). Чи знаходяться вони в правильному положенні для тестування? Іншими словами, чи можна їх розбити на дві непорожні множини A та B з необхідною властивістю?
________________________
1Вирівняний по осях означає, що всі сегменти паралельні одній з осей , або .
Перший рядок містить кількість тестів . Структура кожного тесту наступна:
Перед кожним тестом йде порожній рядок. За ним слідує рядок з кількістю ланок (1 \leq n \leq 10^6) у ланцюзі. Кожен з наступних рядків містить цілих чисел x_i, y_i, z_i, x'_i, y'_i, z'_i, всі між -10^9 і 10^9 — координати двох протилежних кутів -ї ланки.
Для кожного тесту виведіть в окремому рядку слово YES, якщо множина ланок знаходиться в правильному положенні для тестування, і NO інакше.
Приклад 1