eolymp
bolt
Try our new interface for solving problems
Problems

В школу на велосипеде

В школу на велосипеде

Петя любит ездить в школу на велосипеде. Но ездить на велосипеде по тротуарам запрещено, а ездить по дороге опасно. Поэтому Петя ездит только по специальным велосипедным дорожкам. К счастью, и Петин дом, и Петина школа находятся в непосредственной близости от таких дорожек. В городе, где живет Петя, есть ровно две велосипедных дорожки. Каждая дорожка имеет форму окружности. В точках их пересечения можно переехать с одной дорожки на другую. Петя знает точку, в которой он заезжает на дорожку, и точку, в которой следует съехать, чтобы попасть в школу. Петю заинтересовал вопрос: какое минимальное расстояние ему следует проехать по дорожкам, чтобы попасть из дома в школу. \InputFile Будем считать, что в городе введена прямоугольная декартова система координат. Первые две строки входных данных описывают велосипедные дорожки. Каждая из них содержит по три целых числа -- координаты центра окружности, которую представляет собой соответствующая дорожка, и ее радиус. Координаты и радиус не превышают \textbf{300} по абсолютной величине, радиус -- положительное число. Гарантируется, что дорожки не совпадают. Следующие две строки содержат по два вещественных числа -- координаты точки, где Петя заезжает на дорожку, и точки, в которой Петя съезжает с дорожки. Гарантируется, что каждая из точек с высокой точностью лежит на одной из дорожек (расстояние от точки до центра одной из окружностей отличается от ее радиуса не более, чем на \textbf{10^\{-8\}}). Точки могут лежать как на одной дорожке, так и на разных. \OutputFile Выведите минимальное расстояние, которое следует проехать Пете по велосипедным дорожкам, чтобы попасть из дома в школу. Ответ должен отличаться от правильного не более, чем на \textbf{10^\{-4\}}. Если доехать из дома до школы по велосипедным дорожкам невозможно, выведите число \textbf{-1}. \includegraphics{https://static.e-olymp.com/content/7a/7a0a2ed8edbbf72f2849806db6ea70cf8f6484dd.jpg}
Time limit 1 second
Memory limit 64 MiB
Input example #1
0 0 5
4 0 3
3.0 4.0
1.878679656440357 -2.121320343559643
Output example #1
8.4875540166