Задача №112688. Новоселье

Ситуация с землёй в столице одной малоизвестной страны приближается к катастрофической. Уже практически невозможно найти даже небольшой клочок земли для постройки своего жилища.

Тем не менее Фёдору повезло: после прохождения многочисленных инстанций он всё-таки нашел место для нового дома. Более того, щедрое правительство даже подарило ему невероятно красивую крышу для постройки.

Важным обстоятельством является то, что Федя — совершенно плоский, как и весь мир, который его окружает. В этом плоском мире введена стандартная декартова система координат: ось \(O_x\) совпадает с землёй, а ось \(O_y\) направлена от земли вверх. Крыша представляет собой два отрезка, исходящих из одной точки (вершины крыши) вниз в разные стороны.

Разумеется, крыша находится над землёй, то есть отрезки находятся в верхней полуплоскости. Оба отрезка имеют ненулевую длину. Дом Феди должен представлять собой прямоугольник со сторонами, параллельными осям координат, одна сторона которого находится на земле, а другая сторона упирается в оба отрезка крыши. Дом не должен выходить за пределы крыши по горизонтали. Помогите Феде построить для себя дом наибольшей площади.

Формат входного файла

В первой строке содержатся два целых числа \(x_c\) и \(y_c\) — координаты вершины крыши (|\(x_c\)| <= \(10^4\), 1 <= \(y_c\) <= \(10^4\)).

Во второй строке содержатся два целых числа \(x_1\) и \(y_1\) — координаты одного из концов крыши (|\(x_1\)| <= \(10^4\), \(x_1\) ̸= \(x_c\), 0 <= \(y_1\) < \(y_c\)). В следующей строке в таком же формате заданы координаты \(x_2\) и \(y_2\) другого конца крыши.

Гарантируется, что отрезки, образующие крышу, направлены в разные стороны относительно верхней точки крыши, т. е. либо \(x_1\) < \(x_c\) < \(x_2\), либо \(x_2\) < \(x_c\) < \(x_1\)

Формат выходного файла

Выведите единственное число — искомую максимальную площадь дома. Ваш ответ будет считаться правильным, если его абсолютная или относительная ошибка не будет превосходить 10-6

А именно, пусть ваш ответ равен \(A\), а ответ жюри — \(B\). Проверяющая программа будет считать ваш ответ правильным, если |\(A\)-\(B\)| / max(\(1\); \(B\)) <= 10-6.

Примеры
Входные данные
10 10
5 5
15 5
Выходные данные
50.0000000000
Входные данные
0 3727
-200 35
314 10
Выходные данные
481473.2018423739
Сдать: для сдачи задач необходимо войти в систему