eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Снайперский выстрел

Снайперский выстрел

В точке \textbf{S} висит снайпер. Его задача --- ликвидировать врага государства, который едет на велосипеде по прямой из точки \textbf{A} в точку \textbf{B}. Пуля, выпущенная снайпером, летит по прямой с бесконечной скоростью. В городе построены \textbf{n} небоскрёбов, представляющих собой прямоугольные параллелепипеды. Пуля не может пробивать небоскрёб насквозь, но может касаться его поверхности. Естественно, снайпер произведёт успешный выстрел как можно раньше. Вы должны посчитать координаты точки, в которой будет находиться враг государства в момент выстрела. \InputFile В первой строке через пробел записаны координаты точки \textbf{S}: \textbf{s_x}, \textbf{s_y}, \textbf{s_z} (\textbf{s_z} ≥ \textbf{0}). Во второй строке через пробел записаны координаты точек \textbf{A} и \textbf{B}: \textbf{a_x}, \textbf{a_y}, \textbf{b_x}, \textbf{b_y}. Враг государства перемещается по поверхности земли, поэтому его \textbf{z}-координата всегда равна нулю. В третьей строке записано целое число \textbf{n} (\textbf{0} ≤ \textbf{n} ≤ \textbf{100}). В каждой из следующих \textbf{n} строк через пробел записаны числа \textbf{l_x}, \textbf{l_y}, \textbf{r_x}, \textbf{r_y}, \textbf{h} (\textbf{l_x} < \textbf{r_x}; \textbf{l_y} < \textbf{r_y}; \textbf{h} > \textbf{0}) --- координаты противоположных углов основания очередного небоскрёба и его высота. Стороны небоскрёбов параллельны осям координат. Все координаты и высоты целые и не превосходят по модулю \textbf{100}. Гарантируется, что никакие два небоскрёба не имеют общих точек, точка \textbf{S} не лежит внутри или на границе небоскрёба, отрезок \textbf{AB} не имеет общих точек ни с каким небоскрёбом. \OutputFile Если врага государства ликвидировать не получится, выведите "\textbf{Impossible}". Иначе выведите координаты точки, в которой будет находится враг государства в момент выстрела, с точностью не менее \textbf{10^\{−7\}}.
Лимит времени 1 секунда
Лимит использования памяти 16 MiB
Входные данные #1
0 0 2
-4 4 4 4
2
-3 2 -1 3 10
1 -1 4 2 20
Выходные данные #1
-1.3333333333 4.0000000000
Автор Алексей Самсонов
Источник Ural SU Contest. Petrozavodsk Winter Session, February 2009