DINOSM - Dinosaur Menace


After a failed but interesting DNA project, a lot of dinosaurs spread over the lab devouring most of the staff. Jeff, a scientist that worked in the project, managed to survive by hiding in the southwest corner of the lab. Now that all dinosaurs are asleep, he is going to try to leave. The exit of the lab is located at the northeast corner.

Jeff knows that if any of the dinosaurs wakes up, he does not stand a chance, so he needs to minimize the likelihood of that happening. For that, he wants to follow a path that maximizes the minimum distance from him to a dinosaur along the path. The length of the path is of no interest to Jeff.

For this problem we consider that Jeff and the dinosaurs are points on the plane, and that Jeff’s path is a continuous curve connecting the southwest and northeast corners of the lab. As we mentioned, Jeff wants to maximize the minimum distance between this curve and the position of any dinosaur.

Input

The input contains several test cases, each one described in several lines. The first line of each test case contains three integers N, W, and H separated by single spaces. The value N is the number of dinosaurs in the lab (1 ≤ N ≤ 300). The values W (width) and H (height) are the size of the lab on the x and y coordinates, respectively (2 ≤ W, H ≤ 106). This means that the starting position of Jeff is at (0, 0), while the exit of the lab is located at (W, H). Each of the next N lines contains two integers X and Y separated by a single space, representing the coordinates of a different dinosaur (1 ≤ X ≤ W − 1 and 1 ≤ Y ≤ H − 1). Note that no dinosaur is located on the border of the lab. You may assume that no two dinosaurs have the same location. The last line of the input contains the number −1 three times separated by single spaces and should not be processed as a test case.

Output

For each test case output a single line with the maximum possible distance to the closest dinosaur. Write the result rounded to the closest number with exactly three decimal places, using the highest in case of ties, as usual.

Example

Input:
1 2 2
1 1
3 5 4
1 3
4 1
1 2
2 5 4
1 3
4 1
-1 -1 -1

Output:
1.000
1.581
1.803

hide comments
Daniel Ribeiro Moreira [ITA]: 2020-02-14 17:59:49

There is an O(n*n) solution.

aryssonc: 2017-10-16 10:20:56

What is the intended complexity? TLE with O(n*n*log(h+w))...

Last edit: 2017-10-16 10:21:56

Added by:Pablo Ariel Heiber
Date:2010-08-19
Time limit:1.179s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS OBJC PERL6 VB.NET
Resource:FCEyN UBA ICPC Selection 2008