Hall Round Table
The only way to get into the Hall Round Table - to pass through the columned corridor. Corridor walls are depicted on a map by straight lines parallel to the OY axis coordinate system. Log into the corridor at the bottom, and the yield and the Corridor in Hall - at the top. The corridor is cylindrical (round on the map) columns of the same radius R.
Write a program that according to the size of the corridor and offers location Colon, determines the maximum diameter of the round tables, which can carry through such a corridor, while maintaining the horizontal surface of the table.
Input
The first line contains two numbers X_L and X_R - x-coordinates of left and right walls of the corridor. The second line is an integer R (1 ≤ R ≤ 1000000) - radius of Colon. The third contains an integer N (1 ≤ N ≤ 200) specifying the number of columns. Next N lines, each of which has two numbers - x-and y-coordinates of the center corresponding to Columns. All input coordinates are integers, not exceeding modulo 1000000.
Output
Print one number - the desired maximum diameter of the Table. Diameter to remove accurate to 3 digits after the decimal point (even if it turns out to be an integer). If you can not carry a single table, then the answer should be: 0.000
The accuracy of 3 digits after the decimal point, the usual rules of rounding, this means that an answer that is displayed in the output file should be different from the exact no more than 5×10^{-4} (ie 0.0005). For example, if an exact answer 1.234567, then the files should be the number 1.235. If an exact answer 5.0005, it is necessary to round upward, that is, the file should display 5.001.