GARDEN2

  • Парник и клумба
    GARDEN2

Информация
На участке прямоугольной формы расположены клумба в виде круга радиуса R и парник в форме четырехугольника (см. рисунок).



Задача
Написать программу, вычисляющую длину кратчайшего пути из левого нижнего угла участка (начало координат) в правый верхний угол участка, при этом путь не должен пересекать ни парник, ни клумбу. Парник и клумба не имеют общих точек и целиком расположены внутри участка, не касаясь его границ.

Технические условия:

Спецификация входных данных
Входной текстовый файл GARDEN2.IN содержит следующую информацию:

  • 1-я строка - числа a и b, координаты правого верхнего угла участка, разделенные одним пробелом (вещественные, неотрицательные, не превышающие 1000);

  • 2-я строка - числа ra и rb, координаты центра клумбы, разделенные одним пробелом (вещественные, неотрицательные, не превышающие 1000);

  • 3-я строка - число R, радиус клумбы (вещественное, неотрицательное, не превышающее 1000);

  • 4-я строка - x1 и y1, координаты 1-го угла четырехугольника, разделенные одним пробелом (вещественные, неотрицательные, не превышающие 1000);

  • ... ...

  • 7-я строка - x4 и y4, координаты 4-го угла четырехугольника, разделенные одним пробелом (вещественные, неотрицательные, не превышающие 1000).

Вершины четырехугольника даются в порядке обхода.

Спецификация выходных данных
Выходной файл GARDEN2.OUT текстового типа должен содержать результат в виде одного вещественного числа с точностью два знака после запятой - длины минимального пути. Число должно быть записано в формате: <целая_часть>.<дробная_часть>

Пример:

INPUT.TXT
9.00  15.00
7.00  3.00
1.00
1.00  3.00
1.00  7.00
4.00  7.00
4.00  3.00


OUTPUT.TXT
18.00