분리하는 직선
시간 제한1초메모리 제한128 MB
최대 10만 개의 직선마다 주어진 점들이 양쪽에 나뉘거나 직선 위에 닿는지 판정합니다.
문제
평면 위에 서로 다른 개의 점과 개의 직선이 주어진다.
하나의 직선은 평면을 두 개의 반평면으로 나눈다. 이때 두 반평면은 모두 닫힌 반평면이며, 직선 자신은 두 반평면 모두에 속한다. 어떤 직선이 만드는 두 반평면 각각에 주어진 점이 적어도 하나씩 들어 있으면, 그 직선을 분리하는 직선이라고 부른다.
주어진 각 직선이 분리하는 직선인지 판정하여라.
직선 위에 정확히 놓인 점은 두 반평면 모두에 속하므로, 점 가운데 하나라도 직선 위를 지나면 그 직선은 항상 분리하는 직선이다. 즉, 모든 점이 직선을 기준으로 같은 한쪽에만 놓이고 직선 위에는 아무 점도 없을 때에만 그 직선은 분리하는 직선이 아니다.
입력
첫째 줄에 테스트 케이스의 수 ()가 주어진다. 각 테스트 케이스는 다음과 같이 주어진다.
첫째 줄에 점의 개수 ()이 주어진다. 이어지는 개의 줄에는 각각 한 점의 좌표를 나타내는 두 정수 , ()가 주어진다. 모든 점은 서로 다르다.
그 다음 줄에는 직선의 개수 ()이 주어진다. 이어지는 개의 줄에는 각각 직선이 지나는 서로 다른 두 점의 좌표를 나타내는 네 정수 , , , ()가 주어진다.
출력
각 직선에 대해, 그 직선이 분리하는 직선이면 TAK(예)를, 아니면 NIE(아니오)를 한 줄에 하나씩 출력한다.