시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 (추가 시간 없음) 1024 MB 45 15 12 29.268%

문제

원기둥 모양의 치즈 케이크가 있다. 치즈 케이크의 중심의 좌표는 (0, 0)이다.

생쥐들이 케이크의 일부를 먹었다. 생쥐들은 원기둥 모양으로 바닥까지 모두 파먹었고, 생쥐들이 먹은 부분은 서로 겹치지 않는다.

케이크의 한 부분은 페퍼민트로 장식되어 있다. 생쥐는 페퍼민트 향을 싫어하기 때문에 그 부분은 생쥐가 먹지 않는다.

밑면에 수직인 평면 모양으로 칼질을 하려고 한다. 칼질을 정확히 한 번만 해서 페퍼민트로 되어 있는 부분을 지나고 케이크의 양이 정확히 반이 되도록 나누어라.

입력

첫번째 줄에는 케이크의 반지름 R(1 ≤ R ≤ 1,000)과 페퍼민트의 좌표 xp, yp가 주어진다. R과 페퍼민트의 좌표는 정수이고, 페퍼민트가 케이크 안에 있음이 보장된다.

다음 줄에는 생쥐의 수 N(1 ≤ N ≤ 100)이 주어진다.

다음 N줄에는 각 생쥐가 먹은 케이크의 중심 좌표 xi, yi와 반지름 ri가 주어진다. 모든 좌표와 반지름은 정수이고, 원기둥은 케이크에 완전히 포함되며 서로 겹치지 않는다. 페퍼민트는 생쥐가 파먹은 어떤 원기둥에도 포함되지 않는다.

출력

칼질한 평면을 위에서 바라보면 직선 모양이 된다. 이 직선의 각도를 x축에서 반시계 방향으로 재어 라디안 단위로 출력한다. 출력한 각도대로 잘랐을 때 한 부분의 넓이를 A, 전체 넓이의 절반을 B라고 할 때, AB의 절대/상대 오차가 10−6 이하이면 정답이다. 출력값의 범위는 지정되어 있지 않지만, 정확한 채점을 위해 −2π 이상 2π 이하의 값을 출력하는 것을 권장한다.

만약 어떤 방식으로도 정확히 절반을 자를 수 없다면 NO를 출력한다.

예제 입력 1

100 -50 0
1
0 0 10

예제 출력 1

0.0000000000

예제 입력 2

10 3 -4
2
4 3 5
-4 -3 5

예제 출력 2

2.21429743558818

예제 입력 3

10 0 0
2
4 3 5
-4 -3 5

예제 출력 3

0.123456789101112

어떤 각도로 자르더라도 항상 절반으로 나눠진다.

예제 입력 4

1000 278 960
1
-1 0 999

예제 출력 4

1.987912112427