Ланцюги & Ко.#6773

Ланцюги & Ко.

1 секунда
256 мегабайтів
Середня

Ланцюги & Ко. спеціалізується на виробництві надзвичайно міцних ланцюгів. Завдяки високій якості своєї продукції, вони швидко завойовують ринок, що призводить до нових викликів, які раніше навіть не передбачалися. Наприклад, автоматична перевірка надійності ланок за допомогою комп'ютерної програми, яку вам потрібно розробити.

Компанія виготовляє ланки однакового розміру. Кожна ланка є нескінченно тонкою квадратною рамкою в тривимірному просторі (складається з чотирьох нескінченно тонких сегментів).

Під час тестування всі ланки вирівняні по осях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

Loading
Loading