쇠줄 곧게 펴기

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

P 제철 회사에 문제가 생겼다. 작업 공정에 이상이 있어 반듯하던 쇠줄 곳곳이 직각으로 꺾여 버린 것이다. 그래서 쇠줄을 다시 반듯하게 펴는 작업을 해야 한다.

한 번에 쇠줄의 마디 한 곳만을 펼 수 있으며, 펴는 도중에 쇠줄 내에서 충돌이 생겨서도 안 된다. 한 점에서만 충돌이 일어나도 충돌인 것으로 간주한다. 마디를 편다는 것은 그 마디에 붙은 두 변이 일직선이 된다는 뜻이다. 마디는 쇠줄의 한쪽 끝에서 시작해 연결된 순서대로 펴고, 시작하는 쪽 끝은 입력으로 주어진다.

아래 그림은 2차원 평면에 쇠줄이 놓여 있을 때 한쪽 끝에서 시작해 연결된 순서대로 마디를 펴서 마지막에 직선으로 곧게 편 모습이다.

쇠줄을 한쪽 끝에서부터 순서대로 펴서 직선이 되는 과정

입력

입력은 표준 입력으로 받는다. 첫 줄에 테스트 케이스의 개수 TT (1T201 \le T \le 20)가 주어진다.

각 테스트 케이스의 첫 줄에는 쇠줄의 양 끝점을 포함한 마디의 개수가 주어진다. 다음 줄에는 각 마디의 xx, yy 좌표가 한쪽 끝에서부터 연결된 순서대로 공백을 하나씩 두고 주어진다. 각 좌표는 정수이고 0x10000 \le x \le 1000, 0y10000 \le y \le 1000이다. 쇠줄의 전체 길이는 1000010000을 넘지 않고, 마디의 개수는 10001000을 넘지 않는다. 쇠줄의 각 변은 좌표축과 평행하다.

마디는 주어진 좌표 순서대로 편다. 펴진 후의 좌표는 제한되지 않는다. 아무것도 펴지 않은 처음 상태에는 충돌이 없고, 직각으로 꺾이지 않은 마디도 없다.

출력

출력은 표준 출력으로 한다. 각 테스트 케이스마다 주어진 좌표 순서대로 마디를 펴서 최종적으로 직선으로 펼 수 있으면 YES를, 그렇지 않으면 NO를 한 줄에 하나씩 출력한다.