#include <iostream>
using namespace std;
int main()
{
double x1, y1, x2, y2, x3, y3, x4, y4;
double Ua, Ub;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x4 >> y4;
double D = (x1-x2)*(y4-y3)-(x4-x3)*(y1-y2);
if (D == 0) cout << "...to be continue...";
else {
Ua=((x4-x2)*(y4-y3)-(x4-x3)*(y4-y2)) / D;
Ub=((x1-x2)*(y4-y2)-(x4-x2)*(y1-y2)) / D;
cout << Ua << " " << Ub << endl;
cout << "The segments " << ( Ua<=1 && Ua>=0 && Ub<=1 && Ub>=0 ? "" : "do not") << "intersect";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmludCBtYWluKCkgCnsKICAgIGRvdWJsZSB4MSwgeTEsIHgyLCB5MiwgeDMsIHkzLCB4NCwgeTQ7CiAgICBkb3VibGUgVWEsIFViOwogICAgY2luID4+IHgxID4+IHkxID4+IHgyID4+IHkyID4+IHgzID4+IHkzID4+IHg0ID4+IHk0OwogICAgZG91YmxlIEQgPSAoeDEteDIpKih5NC15MyktKHg0LXgzKSooeTEteTIpOwogICAgaWYgKEQgPT0gMCkgY291dCA8PCAiLi4udG8gYmUgY29udGludWUuLi4iOwogICAgZWxzZSB7CgkgICAgVWE9KCh4NC14MikqKHk0LXkzKS0oeDQteDMpKih5NC15MikpIC8gRDsKCSAgICBVYj0oKHgxLXgyKSooeTQteTIpLSh4NC14MikqKHkxLXkyKSkgLyBEOwoJICAgIGNvdXQgPDwgVWEgPDwgIiAiIDw8IFViIDw8IGVuZGw7CgkgICAgY291dCA8PCAiVGhlIHNlZ21lbnRzICIgPDwgKCBVYTw9MSAmJiBVYT49MCAmJiBVYjw9MSAmJiBVYj49MCA/ICIiIDogImRvIG5vdCIpIDw8ICJpbnRlcnNlY3QiOwogICAgfQogICAgcmV0dXJuIDA7Cn0=