옛날 옛적에 여러 난쟁이 가족이 모여 사는 ‘난쟁이 나라’가 있었다. 각 가족은 집 한 채에서 살았고, 난쟁이들은 다른 집에 사는 친구들을 즐겨 찾아다녔다.
주변 나라의 사람들은 여러 개의 곧은 고속도로를 건설하기로 했다. 그중 일부가 난쟁이 나라를 가로지르게 되었다. 난쟁이들은 몸집이 작고 느려서 고속도로를 안전하게 건널 수 없다. 어떤 고속도로가 집들을 비어 있지 않은 두 무리로 갈라놓는다면 일부 난쟁이는 친구를 만날 수 없게 된다. 따라서 집들을 두 무리로 나누지 않는 고속도로만이 문제가 없다.
평면 위에 $N$개의 점(집)과 여러 개의 직선(고속도로)이 주어진다. 각 직선에 대해, 모든 집이 그 직선의 같은 쪽에 있는지, 아니면 직선이 집들을 두 무리로 가르는지 판정하라. 어떤 고속도로도 집을 지나지 않는다.
첫째 줄에 집의 개수 $N$ ($0 \le N \le 100,000$)이 주어진다.
이어지는 $N$개의 줄에는 각각 두 실수 $x_i$, $y_i$ ($-10^9 \le x_i, y_i \le 10^9$)가 공백으로 구분되어 주어지며, 이는 $i$번째 집의 좌표이다.
그다음 줄들에는 각각 네 실수 $X_1$, $Y_1$, $X_2$, $Y_2$ ($-10^9 \le X_1, Y_1, X_2, Y_2 \le 10^9$)가 공백으로 구분되어 주어진다. 이는 한 고속도로 위에 있는 서로 다른 두 점 $(X_1, Y_1)$과 $(X_2, Y_2)$의 좌표이다. 고속도로는 최대 $100,000$개이며, 입력은 파일의 끝(EOF)에서 종료된다.
각 고속도로마다 한 줄을 출력한다. 모든 집이 직선의 같은 쪽에 있으면 GOOD을, 직선이 집들을 비어 있지 않은 두 무리로 가르면 BAD를 출력한다.
좌표가 실수이므로 반올림 오차가 발생할 수 있다. 두 실수값이 같은지 비교할 때에는 작은 허용 오차(예: $10^{-4}$)를 두는 것이 좋다.