#D6039. Square in Circles

    ID: 5017 Type: Default 8000ms 536MiB

Square in Circles

Square in Circles

Problem Statement

Circles Island is known for its mysterious shape: it is a completely flat island with its shape being a union of circles whose centers are on the xx-axis and their inside regions.

The King of Circles Island plans to build a large square on Circles Island in order to celebrate the fiftieth anniversary of his accession. The King wants to make the square as large as possible. The whole area of the square must be on the surface of Circles Island, but any area of Circles Island can be used for the square. He also requires that the shape of the square is square (of course!) and at least one side of the square is parallel to the xx-axis.

You, a minister of Circles Island, are now ordered to build the square. First, the King wants to know how large the square can be. You are given the positions and radii of the circles that constitute Circles Island. Answer the side length of the largest possible square.

NN circles are given in an ascending order of their centers' xx-coordinates. You can assume that for all ii (1iN11 \le i \le N-1), the ii-th and (i+1)(i+1)-st circles overlap each other. You can also assume that no circles are completely overlapped by other circles.

[fig.1 : Shape of Circles Island and one of the largest possible squares for test case #1 of sample input]

Input

The input consists of multiple datasets. The number of datasets does not exceed 3030. Each dataset is formatted as follows.

NN X1X_1 R1R_1 : : XNX_N RNR_N

The first line of a dataset contains a single integer NN (1N50,0001 \le N \le 50{,}000), the number of circles that constitute Circles Island. Each of the following NN lines describes a circle. The (i+1)(i+1)-st line contains two integers XiX_i (100,000Xi100,000-100{,}000 \le X_i \le 100{,}000) and RiR_i (1Ri100,0001 \le R_i \le 100{,}000). XiX_i denotes the xx-coordinate of the center of the ii-th circle and RiR_i denotes the radius of the ii-th circle. The yy-coordinate of every circle is 00, that is, the center of the ii-th circle is at (XiX_i, 00).

You can assume the followings.

  • For all ii (1iN11 \le i \le N-1), XiX_i is strictly less than Xi+1X_{i+1}.
  • For all ii (1iN11 \le i \le N-1), the ii-th circle and the (i+1)(i+1)-st circle have at least one common point (Xi+1XiRi+Ri+1X_{i+1} - X_i \le R_i + R_{i+1}).
  • Every circle has at least one point that is not inside or on the boundary of any other circles.

The end of the input is indicated by a line containing a zero.

Output

For each dataset, output a line containing the side length of the square with the largest area. The output must have an absolute or relative error at most 10410^{-4}.

Sample Input

2 0 8 10 8 2 0 7 10 7 0

Output for the Sample Input

12.489995996796796 9.899494936611665

Example

Input

2 0 8 10 8 2 0 7 10 7 0

Output

12.489995996796796 9.899494936611665

inputFormat

input]

Input

The input consists of multiple datasets. The number of datasets does not exceed 3030. Each dataset is formatted as follows.

NN X1X_1 R1R_1 : : XNX_N RNR_N

The first line of a dataset contains a single integer NN (1N50,0001 \le N \le 50{,}000), the number of circles that constitute Circles Island. Each of the following NN lines describes a circle. The (i+1)(i+1)-st line contains two integers XiX_i (100,000Xi100,000-100{,}000 \le X_i \le 100{,}000) and RiR_i (1Ri100,0001 \le R_i \le 100{,}000). XiX_i denotes the xx-coordinate of the center of the ii-th circle and RiR_i denotes the radius of the ii-th circle. The yy-coordinate of every circle is 00, that is, the center of the ii-th circle is at (XiX_i, 00).

You can assume the followings.

  • For all ii (1iN11 \le i \le N-1), XiX_i is strictly less than Xi+1X_{i+1}.
  • For all ii (1iN11 \le i \le N-1), the ii-th circle and the (i+1)(i+1)-st circle have at least one common point (Xi+1XiRi+Ri+1X_{i+1} - X_i \le R_i + R_{i+1}).
  • Every circle has at least one point that is not inside or on the boundary of any other circles.

The end of the input is indicated by a line containing a zero.

outputFormat

Output

For each dataset, output a line containing the side length of the square with the largest area. The output must have an absolute or relative error at most 10410^{-4}.

Sample Input

2 0 8 10 8 2 0 7 10 7 0

Output for the Sample Input

12.489995996796796 9.899494936611665

Example

Input

2 0 8 10 8 2 0 7 10 7 0

Output

12.489995996796796 9.899494936611665

样例

2
0 8
10 8
2
0 7
10 7
0
12.489995996796796

9.899494936611665

</p>