#include <iostream>
#include <cmath>
#define E 1e-5
using namespace std;
double length(double x1, double y1, double x2, double y2){
return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
bool is_include(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, double x, double y){
return (
abs(length(x1, y1, x, y) - length(x1, y1, x2, y2) + length(x, y, x2, y2)) <= E
&&
abs(length(x3, y3, x, y) - length(x3, y3, x4, y4) + length(x, y, x4, y4)) <= E
);
}
bool is_overlap(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) {
return(
abs(length(x1, y1, x3, y3) - length(x1, y1, x2, y2) + length(x3, y3, x2, y2)) <= E
||
abs(length(x1, y1, x4, y4) - length(x1, y1, x2, y2) + length(x4, y4, x2, y2)) <= E
||
abs(length(x3, y3, x1, y1) - length(x3, y3, x4, y4) + length(x1, y1, x4, y4)) <= E
||
abs(length(x3, y3, x2, y2) - length(x3, y3, x4, y4) + length(x2, y2, x4, y4)) <= E
);
}
int main() {
long x1, y1, x2, y2, x3, y3, x4, y4;
double x, y;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x4 >> y4;
long long ky1, kx1, b1, ky2, kx2, b2;
ky1 = y2 - y1;
ky2 = y4 - y3;
kx1 = x2 - x1;
kx2 = x4 - x3;
b1 = x1 * y2 - x2 * y1;
b2 = x3 * y4 - x4 * y3;
if (kx1 * ky2 == kx2 * ky1) {
if (
b1 * ky2 != b2 * ky1
&&
b1 * kx2 != b2 * kx1
) cout << "No";
else if (is_overlap(x1, y1, x2, y2, x3, y3, x4, y4)) cout << "Yes";
else cout << "No";
} else {
y = (double)(b2 * ky1 - b1 * ky2) / (double)(kx1 * ky2 - kx2 * ky1);
x = (double)(b1 * kx2 - b2 * kx1) / (double)(ky1 * kx2 - ky2 * kx1);
if (is_include(x1, y1, x2, y2, x3, y3, x4, y4, x, y)) cout << "Yes";
else cout << "No";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNkZWZpbmUgRSAxZS01CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpkb3VibGUgbGVuZ3RoKGRvdWJsZSB4MSwgZG91YmxlIHkxLCBkb3VibGUgeDIsIGRvdWJsZSB5Mil7CiAgcmV0dXJuIHNxcnQoKHgxIC0geDIpICogKHgxIC0geDIpICsgKHkxIC0geTIpICogKHkxIC0geTIpKTsKfQoKYm9vbCBpc19pbmNsdWRlKGludCB4MSwgaW50IHkxLCBpbnQgeDIsIGludCB5MiwgaW50IHgzLCBpbnQgeTMsIGludCB4NCwgaW50IHk0LCBkb3VibGUgeCwgZG91YmxlIHkpewogIHJldHVybiAoCiAgICBhYnMobGVuZ3RoKHgxLCB5MSwgeCwgeSkgLSBsZW5ndGgoeDEsIHkxLCB4MiwgeTIpICsgbGVuZ3RoKHgsIHksIHgyLCB5MikpIDw9IEUKICAmJgogICAgYWJzKGxlbmd0aCh4MywgeTMsIHgsIHkpIC0gbGVuZ3RoKHgzLCB5MywgeDQsIHk0KSArIGxlbmd0aCh4LCB5LCB4NCwgeTQpKSA8PSBFCiAgKTsKfQoKYm9vbCBpc19vdmVybGFwKGludCB4MSwgaW50IHkxLCBpbnQgeDIsIGludCB5MiwgaW50IHgzLCBpbnQgeTMsIGludCB4NCwgaW50IHk0KSB7CiAgcmV0dXJuKAogICAgYWJzKGxlbmd0aCh4MSwgeTEsIHgzLCB5MykgLSBsZW5ndGgoeDEsIHkxLCB4MiwgeTIpICsgbGVuZ3RoKHgzLCB5MywgeDIsIHkyKSkgPD0gRQogIHx8CiAgICAgIGFicyhsZW5ndGgoeDEsIHkxLCB4NCwgeTQpIC0gbGVuZ3RoKHgxLCB5MSwgeDIsIHkyKSArIGxlbmd0aCh4NCwgeTQsIHgyLCB5MikpIDw9IEUKICB8fAogICAgYWJzKGxlbmd0aCh4MywgeTMsIHgxLCB5MSkgLSBsZW5ndGgoeDMsIHkzLCB4NCwgeTQpICsgbGVuZ3RoKHgxLCB5MSwgeDQsIHk0KSkgPD0gRQogIHx8CiAgICAgIGFicyhsZW5ndGgoeDMsIHkzLCB4MiwgeTIpIC0gbGVuZ3RoKHgzLCB5MywgeDQsIHk0KSArIGxlbmd0aCh4MiwgeTIsIHg0LCB5NCkpIDw9IEUKICApOwp9CgppbnQgbWFpbigpIHsKICBsb25nIHgxLCB5MSwgeDIsIHkyLCB4MywgeTMsIHg0LCB5NDsKICBkb3VibGUgeCwgeTsKICBjaW4gPj4geDEgPj4geTEgPj4geDIgPj4geTIgPj4geDMgPj4geTMgPj4geDQgPj4geTQ7CiAgbG9uZyBsb25nIGt5MSwga3gxLCBiMSwga3kyLCBreDIsIGIyOwogIGt5MSA9IHkyIC0geTE7CiAga3kyID0geTQgLSB5MzsKICBreDEgPSB4MiAtIHgxOwogIGt4MiA9IHg0IC0geDM7CiAgYjEgPSB4MSAqIHkyIC0geDIgKiB5MTsKICBiMiA9IHgzICogeTQgLSB4NCAqIHkzOwogIGlmIChreDEgKiBreTIgPT0ga3gyICoga3kxKSB7CiAgICBpZiAoCiAgICAgIGIxICoga3kyICE9IGIyICoga3kxCiAgICAmJiAKICAgICAgYjEgKiBreDIgIT0gYjIgKiBreDEKICAgICkgY291dCA8PCAiTm8iOwogICAgZWxzZSBpZiAoaXNfb3ZlcmxhcCh4MSwgeTEsIHgyLCB5MiwgeDMsIHkzLCB4NCwgeTQpKSBjb3V0IDw8ICJZZXMiOwogICAgZWxzZSBjb3V0IDw8ICJObyI7CiAgfSBlbHNlIHsKICAgIHkgPSAoZG91YmxlKShiMiAqIGt5MSAtIGIxICoga3kyKSAvIChkb3VibGUpKGt4MSAqIGt5MiAtIGt4MiAqIGt5MSk7CiAgICB4ID0gKGRvdWJsZSkoYjEgKiBreDIgLSBiMiAqIGt4MSkgLyAoZG91YmxlKShreTEgKiBreDIgLSBreTIgKiBreDEpOwogICAgaWYgKGlzX2luY2x1ZGUoeDEsIHkxLCB4MiwgeTIsIHgzLCB5MywgeDQsIHk0LCB4LCB5KSkgY291dCA8PCAiWWVzIjsKICAgIGVsc2UgY291dCA8PCAiTm8iOwogIH0KICByZXR1cm4gMDsKfQ==