## FOREST2 - Forest

Bruce Force is standing in the forest. He wonders what is the tree trunk the farthest away which is not blocked from his view by other tree trunks.

Bruce has made a map of the trees in the forest.
The map shows his current position as the origin of a cartesian coordinate system.
Tree *i* is shown on the map as a circle with the center (*x _{i}, y_{i}*) and radius

*r*. You may assume that a tree trunk is visible if and only if there exists a line segment on the map from the origin (0,0) to a point on the border of the circle representing the tree trunk, where the line segment does not intersect or touch another circle.

_{i}### Input

The input contains several test cases.
The first line of each test case contains one number *n* (*1 ≤ n ≤ 1000*),
where *n* specifies how many trees are on the map.
The following *n* lines contain 3 integers *x _{i}*,

*y*,

_{i}*r*each, (

_{i}*-10000 ≤ x*,

_{i}, y_{i}≤ 10000*1 ≤ r*) where (

_{i}≤ 1000*x*,

_{i}*y*) is the center of the circle representing tree trunk

_{i}*i*, and

*r*is the radius of the circle. You may assume that no two circles in the input intersect, i.e., for any two circles, the distance between their centers is more than the sum of their radii. Moreover, you may assume that no circle contains the origin.

_{i}The last test case is followed by a line containing one zero.

### Output

For each test case, print one line with the maximum euclidean distance from the origin to a visible tree. The distance to a tree should be measured using the point of the tree closest to the origin, no matter if this point is in fact visible or not.

Round the answer to 3 digits after the decimal point.

### Example

Input:3 10 10 11 1 1 1 -20 -10 20 5 1 2 2 -2 1 1 2 -1 1 -1 -2 2 10000 -10000 1000 0Output:3.142 1.236

Added by: | Adrian Kuegel |

Date: | 2008-07-12 |

Time limit: | 1.100s |

Source limit: | 50000B |

Memory limit: | 1536MB |

Cluster: | Cube (Intel G860) |

Languages: | All except: ERL JS-RHINO NODEJS PERL6 VB.NET |

Resource: | University of Ulm Local Contest 2008 |