Широта взглядов
Задачу добавил: alef
Успешно сдано решений: 13
Директору фирмы "Фабрика классов" очень нравится вид из окна его кабинета. Но однажды он сел в кресло, которое предназначается клиентам, и увидел, что взору клиентов открывается стройка, а вовсе не замечательный пейзаж, к которому он привык. Решив, что такой вид из окна может неблаготворно повлиять на настроение клиента и результат переговоров, директор задумался - нельзя ли немного подвинуть его стол (вдоль линии, параллельной окну) так, чтобы он по-прежнему видел приятный глазу пейзаж, но чтобы клиенту не была видна стройка. Некоторая проблема состоит в том, что и по другую сторону пейзажа также располагается стройка, которую не хотел бы видеть директор.
Ваша задача - выяснить, возможно ли это, и, если да, на какое минимальное расстояние требуется подвинуть стол директора (см. рис.)
Пояснения к рисунку.
За начало координат примем левый угол комнаты. Ось X пролегает вдоль стены с окном. Ближайшая к началу координат точка окна отстоит от него (начала координат) на расстояние xW. Ширина оконного проема W, расстояние до правой стены - L.
В точке с координатами xD, yD находится кресло директора. Кресла клиента и директора располагаются на линии, параллельной оси X (и окну), при этом кресло директора всегда находится ближе к левой стене, а кресло клиента - на расстоянии D от кресла директора. Известны координаты "границ" строек: Sx1, Sy1 - той, которую видит клиент, и Sx2, Sy2 - той, которую может увидеть директор. Гарантируется, что директор изначально ни одну стройку не видит, клиент видит первую, а стройки находятся вне комнаты (за окном).
Формат входного файла input.txt
Первая строка - вещественные числа xW (0 < xW < 1000), W (0 < W < 1000), L (xW + W < L < 1000) через пробел
Вторая строка - вещественные числа xD (0 < xD < L), yD (0 < yD < L), D (0 < D < L - xD) через пробел
Третья строка - вещественные числа Sx1, Sy1, Sx2, Sy2 (-10000 <= Sx1, Sx2 <= 10000; 0 < Sy1, Sy2 <= 10000) через пробел
Формат выходного файла output.txt
Первая строка - слово YES или NO
Вторая строка(если в первой YES) - вещественное число с точностью 4 знака после запятой - минимальное расстояние, на которое надо подвинуть стол директора. Перемещение вправо - положительное число, перемещение влево - отрицательное.
Пример входного файла
3.0 6.0 13.0
4.0 -3.0 4.0
-2.0 4.0 17.0 2.0
Пример выходного файла
YES
-1.2500