Solar Eclipse

No attempts yetTime limit1sMemory limit128 MB

Problem

A solar eclipse is about to happen on Mars. Scientists from all over the world are travelling there to watch it and study it. You worked out the exact spot on the Martian ground that suits your own observations best, and you want to land your flying saucer there. Other spacecraft have already come down close to it.

Seen from above, every spacecraft including yours is a circle of the same radius RR. You refuse to park on top of anyone else, so your circle and any other circle must not share a region of positive area, although the two boundaries may touch. All radii are equal, so the rule means the distance between two centers is at least 2R2R. The crews that landed before you ignored the rule, so their circles may overlap each other.

Land so that the distance between the center of your saucer and the spot you computed is as small as the rule allows, and report that distance.

Input

The input holds several test cases. Each test case begins with a line holding the number of already landed spacecraft nn and a real number RR. The landing area is small enough to model as a two dimensional plane, and the origin (0,0)(0, 0) is the best spot. Each of the next nn lines gives the center of one landed saucer as two real numbers xx and yy.

A test case with nn and RR both equal to 00 ends the input and is not processed. Here 0n1000 \le n \le 100 and R>0R > 0, and the absolute value of RR and of every coordinate is at most 10001000.

Output

For each test case print one line with the smallest possible distance between the center of your landed saucer and the origin, rounded to six digits after the decimal point. Always print all six digits, so a distance of 00 is written as 0.000000.

Every test file keeps the answer at least 10910^{-9} away from a rounding boundary. An exact computation therefore prints the same string whichever way ties would be broken.