Снайперский выстрел
В точке S висит снайпер. Его задача — ликвидировать врага государства, который едет на велосипеде по прямой из точки A в точку B. Пуля, выпущенная снайпером, летит по прямой с бесконечной скоростью. В городе построены n небоскрёбов, представляющих собой прямоугольные параллелепипеды. Пуля не может пробивать небоскрёб насквозь, но может касаться его поверхности. Естественно, снайпер произведёт успешный выстрел как можно раньше.
Вы должны посчитать координаты точки, в которой будет находиться враг государства в момент выстрела.
Входные данные
В первой строке через пробел записаны координаты точки S: s_x, s_y, s_z (s_z ≥ 0). Во второй строке через пробел записаны координаты точек A и B: a_x, a_y, b_x, b_y. Враг государства перемещается по поверхности земли, поэтому его z-координата всегда равна нулю. В третьей строке записано целое число n (0 ≤ n ≤ 100). В каждой из следующих n строк через пробел записаны числа l_x, l_y, r_x, r_y, h (l_x < r_x; l_y < r_y; h > 0) — координаты противоположных углов основания очередного небоскрёба и его высота. Стороны небоскрёбов параллельны осям координат. Все координаты и высоты целые и не превосходят по модулю 100. Гарантируется, что никакие два небоскрёба не имеют общих точек, точка S не лежит внутри или на границе небоскрёба, отрезок AB не имеет общих точек ни с каким небоскрёбом.
Выходные данные
Если врага государства ликвидировать не получится, выведите "Impossible". Иначе выведите координаты точки, в которой будет находится враг государства в момент выстрела, с точностью не менее 10^{−7}.