Chain & Co.는 무한히 튼튼한 사슬을 만드는 회사다. 제품 품질이 좋아서 시장 점유율이 빠르게 늘고 있고, 그만큼 전에는 생각도 못 했던 일까지 하게 되었다. 예를 들어 고리가 시험 자세로 놓였는지 컴퓨터 프로그램으로 자동으로 확인하는 일이 있다. 그 프로그램을 작성하자.
이 회사가 만드는 고리는 크기가 모두 같다. 고리 하나는 3차원 공간에 놓인 무한히 얇은 정사각형 테두리이고, 무한히 얇은 선분 네 개로 이루어진다.
시험할 때는 모든 고리를 축에 평행하게 놓고, 어떤 두 테두리도 서로 닿지 않게 둔다. 축에 평행하다는 말은 고리의 모든 선분이 X축, Y축, Z축 중 하나와 평행하다는 뜻이다. 강도 시험을 제대로 하려면 고리를 두 집합 A와 B로 나눠서, A의 모든 고리가 B의 모든 고리와 분리 불가능하게 얽혀 있도록 만들어야 한다. 두 고리가 분리 불가능하다는 것은 둘 중 하나를 부수지 않으면 서로 떼어놓을 수 없다는 뜻이다.
축에 평행하고 서로 닿지 않는 고리 n개가 놓여 있다. 이 고리들은 시험 자세인가? 다시 말해, 주어진 고리 전체를 위 성질을 만족하는 공집합이 아닌 두 집합 A와 B로 나눌 수 있는가?
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 이어서 테스트 케이스가 하나씩 주어지고, 테스트 케이스마다 앞에 빈 줄이 하나 놓인다.
빈 줄 다음 줄에는 사슬을 이루는 고리의 개수 n이 주어진다 (1≤n≤106). 다음 n개의 줄에는 각각 정수 여섯 개 xi, yi, zi, xi′, yi′, zi′가 공백을 두고 주어진다. 모두 −109 이상 109 이하이며, i번째 고리에서 마주 보는 두 꼭짓점의 좌표다.
각 테스트 케이스마다 한 줄에 답을 출력한다. 주어진 고리들이 시험 자세이면 YES, 아니면 NO를 출력한다.