케이크 자르기

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

문제

원 하나와 직선 여러 개가 주어진다. 이 직선들이 원을 몇 조각으로 나누는지 구하여라.

직선은 양쪽으로 무한히 뻗어 있다. 원과 만나지 않는 직선은 원을 나누지 않는다.

입력

입력은 테스트 케이스 여러 개로 이루어진다. 각 테스트 케이스의 첫 줄에는 네 정수 rr (1r10001 \le r \le 1000), xx, yy (1000x,y1000-1000 \le x, y \le 1000), nn (0n10000 \le n \le 1000)이 주어진다. rr은 원의 반지름, (x,y)(x, y)는 원의 중심 좌표, nn은 직선의 개수이다.

이어지는 nn개의 줄에는 각각 네 정수 x1x_1, y1y_1, x2x_2, y2y_2 (1000x1,y1,x2,y21000-1000 \le x_1, y_1, x_2, y_2 \le 1000)가 주어진다. 이 네 수는 점 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2)를 지나는 직선을 나타낸다. 두 점을 잇는 선분이 아니라 무한히 뻗은 직선 전체를 생각한다.

어떤 테스트 케이스에서도 원 내부의 한 점에서 만나는 직선은 두 개를 넘지 않고, 원에 접하는 직선은 없으며, 서로 일치하는 두 직선도 없다.

입력의 마지막 줄에는 0이 네 개 주어진다.

출력

각 테스트 케이스마다 원이 나뉜 조각의 개수를 정수 하나로 한 줄에 출력한다. 공백도 빈 줄도 출력하지 않는다.