우주 탐사

제1사분면에 있는 N개의 선분 장애물과 원점에서 나가는 M개의 광선이 주어질 때, 어떤 광선도 지나지 않는 선분의 개수를 센다. 끝점을 정확히 지나는 경우도 명중으로 본다.

어려움8기하정렬이분 탐색아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

머지않은 미래, 항성 간 이동이 가능해진 인류는 새로운 보금자리를 찾아 여정을 떠난다. 오랜 항해 끝에 마지막 웜홀을 눈앞에 두었지만, 웜홀 안은 방사능 층으로 가득해 그대로 지나가면 수많은 사람이 피폭될 수 있다.

다행히 인류에게는 방사능 층을 파괴하는 레이저가 있다. 레이저는 발사 위치에서 반직선 형태로 뻗어 나가며, 부딪히는 방사능 층을 모두 파괴한다. 웜홀 안 방사능 층의 상태와 레이저의 발사 위치가 주어질 때, 레이저를 모두 발사한 뒤 남은 방사능 층의 개수를 구하는 프로그램을 작성하시오.

편의상 레이저의 위치를 (0,0)(0, 0)이라고 하자. 방사능 층은 2차원 좌표평면의 제1사분면에 놓인 선분으로 나타낸다. 레이저의 발사 위치는 (X,Y)(X, Y)로 주어지며, 이는 (0,0)(0, 0)에서 (X,Y)(X, Y)를 향하는 반직선 방향으로 레이저를 발사한다는 뜻이다.

다음 그림은 방사능 층 하나에 레이저를 발사하는 서로 다른 두 경우를 보여 준다.

그림 (a)는 (2,4)(2, 4)를 향해 발사한 레이저가 방사능 층과 부딪혀 방사능 층을 파괴하는 모습이다. 그림 (b)는 (3,2)(3, 2)를 향해 발사한 레이저가 방사능 층을 파괴하지 못하고 비껴가는 모습이다.

레이저가 방사능 층 선분의 시작점이나 끝점을 정확히 지나도 레이저와 방사능 층이 부딪힌 것으로 본다. 레이저는 매우 가늘기 때문에 두께는 고려하지 않는다.

입력

첫째 줄에 웜홀 안에 있는 방사능 층의 개수 NN (1N100,0001 \le N \le 100{,}000)이 주어진다. 다음 NN개의 줄에 걸쳐 ii번째 (1iN1 \le i \le N) 방사능 층을 나타내는 선분의 양 끝점 좌표 x1x_1, y1y_1, x2x_2, y2y_2가 공백으로 구분되어 주어진다.

그다음 줄에 레이저의 발사 횟수 MM (1M100,0001 \le M \le 100{,}000)이 주어진다. 다음 MM개의 줄에 걸쳐 jj번째 (1jM1 \le j \le M) 레이저의 발사 위치 XX, YY가 공백으로 구분되어 주어진다.

입력으로 주어지는 모든 좌표는 11 이상 100,000100{,}000 이하의 정수이다. 방사능 층을 나타내는 선분의 시작점과 끝점은 같을 수 있다.

출력

첫째 줄에 레이저를 모두 발사한 뒤 웜홀 안에 남은 방사능 층의 개수를 출력한다.