\begin{problem}{Intersect. Пересечение отрезков}{intersect.in}{intersect.out}{2 секунды}{64 мегабайта}

Два отрезка $[A,\,B]$ и $[C,\,D]$ на плоскости заданы координатами своих
концов --- точек
$A$, $B$, $C$, $D$:$\quad (X_a,Y_a),\;(X_b,Y_b),\;(X_c,Y_c),\;(X_d,Y_d)$.

Требуется найти пересечение этих отрезков и вывести:
\begin{itemize}
\item слово \texttt{Empty}, если эти отрезки не пересекаются;
\item координаты точки пересечения, если пересечение состоит из единственной
точки;
\item координаты точек --- начала и конца отрезка пересечения в
лексикографическом порядке, если пересечение заданных отрезков --- отрезок.
\end{itemize}

\InputFile

Четыре строки файла исходной информации содержат по два целых значения,
по модулю не превосходящих 1000 --- координаты концов точек $A,\;B,\;C,\;D$.
Отрезки могут быть вырожденными.

\OutputFile

Числовые значения следует выводить с точностью шесть знаков после десятичной точки.

\Example

\begin{example}[\exmpwidinf=0.3\thelinewidth\exmpwidouf=0.57\thelinewidth]%
\exmp{0 0\\9 9\\9 5\\0 5}{5.000000 5.000000}%
\exmp{0 0\\9 9\\15 15\\7 7}{7.000000 7.000000 9.000000 9.000000}%
\exmp{0 0\\9 9\\10 10\\10 10}{Empty}%
\end{example}

\end{problem}
