땅
시간 제한2초메모리 제한1024 MB
계수가 -1, 0, 1인 직선이 차례로 추가되고, 각 질의마다 두 점이 지금까지의 직선으로 나뉜 같은 영역에 있는지 판별합니다.
문제
Farmer Lasagna는 꿈에 그리던 땅을 샀다. 이 땅에서 그의 소들이 지내고, 그는 옥수수를 기른다. 소는 옥수수를 좋아해서 닿을 수 있는 작물은 모두 먹어 치운다. 그래서 Lasagna는 소가 넘을 수 없을 만큼 높고 튼튼한 긴 벽을 세우려 한다. Lasagna는 스웨덴 공연 준비로 바빠서 땅을 정리하는 일을 도와 달라고 너에게 부탁했다.
땅은 좌표평면이고, 각 벽은 그 평면 위의 직선이다. Lasagna는 Q개의 질의를 보내며, 질의는 다음 두 종류 중 하나다.
-
방정식 로 주어진 벽을 세운다. 이 식을 만족하는 모든 점 가 이루는 직선이다. Lasagna는 와 가 -1부터 1까지의 정수임을 보장한다.
-
지금까지 세워진 벽을 기준으로, 소가 점 에 있고 옥수수 작물이 점 에 심겨 있다. 소가 에 도달해서 작물을 망가뜨릴 수 있는가?
모든 질의에 답하도록 도와줄 수 있는가?
입력
첫 줄에 질의의 개수 ()가 주어진다.
이어지는 개의 줄은 다음 두 형식 중 하나다.
-
"1 a b c". , , 는 정수이고, , 또는 , 이다. 테스트 데이터에서는 벽을 세우는 시점에 기존 벽 중에 새 벽과 모든 점이 겹치는 벽이 없음을 보장한다.
-
"2 x1 y1 x2 y2". , , , 는 정수이고, 이다. 은 소의 위치이고, 는 옥수수 작물의 위치다. 테스트 데이터에서는 그 시점에 두 점 모두 어떤 벽 위에도 놓이지 않으며, 두 점은 서로 다름을 보장한다.
출력
두 번째 형식의 각 질의마다, 소가 작물에 닿을 수 있으면 "DA", 그렇지 않으면 "NE"를 한 줄에 하나씩 출력한다.
힌트
첫 번째 예제에서 첫 번째 직선은 x축이며, y좌표가 양수인 점과 음수인 점을 나눈다. 두 번째 직선은 y축이며, 두 직선이 함께 점들을 사분면별로 나눈다.
세 번째 예제의 그림에는 모든 벽에 해당하는 직선과 질의된 모든 점이 나와 있다.
