화성의 일식
시간 제한1초메모리 제한128 MB
원점에서 가장 가까우면서 주어진 n개 중심과 2R 이상 떨어진 점을 찾아 거리를 구합니다.
문제
화성에서 일식이 일어난다. 세계 곳곳의 과학자가 이 현상을 관측하고 연구하려고 화성으로 향하는 중이다. 당신은 관측에 가장 좋은 지점을 정확히 계산해 냈고, 그 자리에 비행접시를 착륙시키려 한다. 그런데 근처에는 이미 다른 우주선이 여러 대 내려앉아 있다.
위에서 내려다보면 당신의 기체를 포함한 모든 우주선은 반지름이 로 같은 원이다. 당신은 남의 기체 위에 겹쳐 앉는 것을 싫어한다. 즉 당신의 원과 다른 원이 넓이가 양수인 부분을 공유해서는 안 되고, 경계끼리 닿기만 하는 것은 괜찮다. 반지름이 모두 같으므로 이 조건은 두 중심 사이 거리가 이상이라는 뜻이다. 먼저 착륙한 우주선은 이 규칙을 지키지 않아서 서로 겹쳐 있을 수 있다.
규칙을 지키면서 당신의 기체 중심을 미리 계산해 둔 최적 지점에 최대한 가깝게 두려고 한다. 그때의 최소 거리를 구하여라.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 이미 착륙한 우주선의 수 과 실수 이 주어진다. 착륙장은 충분히 좁아서 2차원 평면으로 나타낼 수 있고, 원점 이 관측에 가장 좋은 지점이다. 이어지는 개 줄에는 착륙한 우주선 한 대의 중심 좌표 와 가 실수로 주어진다.
과 이 모두 인 테스트 케이스가 입력의 끝을 알린다. 이 케이스는 처리하지 않는다. 이고 이며, 과 모든 좌표의 절댓값은 이하이다.
출력
각 테스트 케이스마다 한 줄에 하나씩, 착륙한 기체의 중심과 원점 사이 거리의 최솟값을 소수점 아래 여섯째 자리까지 반올림해 출력한다. 여섯 자리는 항상 채워서 적으므로 거리가 이면 0.000000으로 적는다.
모든 테스트 데이터는 정답이 반올림 경계에서 이상 떨어지도록 만들었다. 정확히 계산했다면 반올림 방향과 상관없이 같은 문자열이 나온다.