Муравей находится в лесу с плоской поверхностью почвы в точке с координатами (x1, y1), и направляется в точку (x2, y2). В лесу растёт дерево, основание ствола которого имеет форму круга с центром в точке (xT, yT) и радиусом RT. Дерево, возможно, помешает муравью дойти до цели по прямой. В таком случае ему придётся обойти дерево вокруг ствола.
Требуется определить длину кратчайшего пути для муравья.
Ограничения: Все числа во входном файле находятся в диапазоне от 0 до 1000.
(x1 - xT)2 + (y1 - yT)2 >= RT2, (x2 - xT)2 + (y2 - yT)2 >= RT2
Input
Входной файл содержит вещественные числа x1 y1 x2 y2 xT yT RT.
Output
Выходной файл должен содержать единственное вещественное число -- длину кратчайшего пути. Абсолютная ошибка результата не должна превосходить 0.01 (т.е. следует выводить число с точностью не менее 3 знаков после запятой).
Sample
Input | Output |
0 0 4 4 2 2 1 | 6.014 |
|