Задачи
Робот
Робот
Роботу нужно пройти по плоскости из точки \textbf{A} в точку \textbf{B}. Пройти по прямой не всегда возможно из-за препятствий. Требуется написать программу, вычисляющую минимальную длину пути робота из точки \textbf{A} в точку \textbf{B}. Будем считать размеры робота пренебрежимо малыми по сравнению с преодолеваемым расстоянием и размером препятствий. Будем считать, что все препятствия представлены набором отрезков на плоскости. Эти отрезки робот не может пересекать во внутренних точках, но он может проходить через концы отрезков, а также может ходить вдоль отрезка.
\InputFile
Первая строка содержит одно целое число \textbf{N} --- количество отрезков-препятствий (\textbf{0} <= \textbf{N} <= \textbf{100}). Затем идут \textbf{N} строк по четыре целых числа \textbf{X_1}, \textbf{Y_1}, \textbf{X_2} и \textbf{Y_2} в каждой. Это координаты концов соответствующего отрезка. Последние две строки содержат координаты \textbf{X} и \textbf{Y} точек \textbf{A} и \textbf{B}. Гарантируется, что все координаты по модулю не превосходят \textbf{1000}, а также ни один из концов отрезков не принадлежит другому отрезку. Начальная и конечная точки пути различны и не принадлежат ни одному отрезку.
\OutputFile
Выведите одно число --- длину кратчайшего пути из точки \textbf{A} в точку \textbf{B} с четырьмя знаками после десятичной точки. Если искомого пути не существует, то выведите \textbf{--1}.
Входные данные #1
1 5 -2 5 3 10 0 0 0
Выходные данные #1
10.7703