Circle and Points
You are given n points in the xy-plane. You have a circle of radius one and move it on the xy-plane, so as to enclose as many of the points as possible. Find how many points can be simultaneously enclosed at the maximum. A point is considered enclosed by a circle when it is inside or on the circle.
Fig 1. Circle and Points
Input
The input consists of a series of data sets, followed by a single line only containing a single character '0', which indicates the end of the input. Each data set begins with a line containing an integer n, which indicates the number of points in the data set. It is followed by n lines describing the coordinates of the points. Each of the n lines has two decimal fractions X and Y, describing the x- and y-coordinates of a point, respectively. They are given with five digits after the decimal point.
You may assume 1 ≤ n ≤ 300, 0.0 ≤ X ≤ 10.0 and 0.0 ≤ Y ≤ 10.0. No two points are closer than 0.0001. No two points in a data set are approximately at a distance of 2.0. More precisely, for any two points in a data set, the distance d between the two never satisfies 1.9999 ≤ d ≤ 2.0001. Finally, no three points in a data set are simultaneously very close to a single circle of radius one. More precisely, let P_1, P_2 and P_3 be any three points in a data set, and d_1, d_2 and d_3 the distances from an arbitrarily selected point in the xy-plane to each of them respectively. Then it never simultaneously holds that 0.9999 ≤ d_i ≤ 1.0001 (i = 1, 2, 3).
Output
For each data set, print a single line containing the maximum number of points in the data set that can be simultaneously enclosed by a circle of radius one. No other characters including leading and trailing spaces should be printed.