TABLE
  • Зал Круглых Столов 
    © Илья Порублев, 2004

    ROBOT


Описание
Единственный способ попасть в Зал Круглых Столов - пройти через Колонный Коридор. Стены Коридора изображаются на карте прямыми линиями, которые параллельны оси OY системы координат. Вход в Коридор находится снизу, а выход из Коридора в Зал - сверху. В Коридоре есть цилиндрические (на карте круглые) Колонны одинакового радиуса R.

Задача
Напишите программу TABLE, которая по информации о размерах Коридора, и размещения Колонн определяет диаметр наибольшего из Круглых Столов, который можно пронести через такой Коридор, сохраняя поверхность Стола горизонтальной.


Формат входного файла
В первой строке входного файла TABLE.DAT заданы два числа XL и XR - x-координаты левой и правой стен Коридора. Во второй строке находится целое число R (1<=R<=106) - радиус всех Колонн. В третей - целое число N (1<=N<=200), которое задает количество Колонн. Далее следуют N строк, в каждой из которых по два числа - x- и y-координаты центра соответствующей Колонны. Все входные координаты - целые числа, по модулю не превосходящие 106

Формат выходного файла
Единственная строка выходного файла TABLE.SOL должна содержать одно число - искомый диаметр наибольшего Стола. Диаметр следует выводить с точностью 3 знака после десятичной точки (даже в случае, когда он окажется целым). Если нельзя пронести ни одного Стола, то ответ должен быть: 0.000

Точность 3 знака после точки, по обычным правилам округления, обозначает, что ответ, который выдается в выходной файл, должен отличаться от точного не более чем на 5·10-4 (т.е. на 0.0005). Например, если точный ответ 1.234567, то в файле должно находится число 1.235. Если точный ответ 5.0005, то необходимо округлять в большую сторону, т.е. в файл следует выдать 5.001




Например:

TABLE.DAT
0  90
3
4
10  10
70  10
50  50
10  90


TABLE.SOL
47.000