eolymp
bolt
Try our new interface for solving problems
Problems

Место под столицу

Место под столицу

Time limit 2 seconds
Memory limit 256 MiB

Древнебайтландский князь Георгий Длинноногий во время своего похода нашёл огромное плоское поле со странной аномалией: по этому полю можно было передвигаться или по любым прямым, проходящим через фиксированную точку K, или по любым окружностям с центром в той же самой точке.

Попытки движения по другой траектории к успеху не приводили.

Удивился князь и решил основать на этом месте город, который впоследствии стал столицей Байтруссии, а точку K сделать точкой отсчёта для всех дорог княжества.

Но прежде задумался: какое наименьшее расстояние по полю ему придётся пройти от заданной точки A до заданной точки B?

При движении можно в любой момент сменить траекторию и начать двигаться по другой дуге или радиусу, проходящим через данную точку.

Пройденным расстоянием считается сумма расстояний, пройденных по каждому радиальному или кольцевому участку.

Input data

В первой строке ввода заданы четыре целых числа: сначала координаты точки A (x_A и y_A), а затем координаты точки B (x_B и y_B).

Точка K расположена в начале координат.

Все координаты являются целыми числами, по модулю не превосходящими 10^6.

Output data

Одно число - минимальное расстояние, которое придётся пройти князю Георгию по пути из точки A в точку B.

Ответ считается верным, если абсолютная или относительная погрешность не превосходит 10^{-6}.

Examples

Input example #1
0 5 4 3
Output example #1
4.636476090008
Source Yandex.Algorithm, Online Round 3, July 22, 2013