#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;
(kx1 * ky2 == kx2 * ky1) && (
(
b1 * ky2 != b2 * ky1
&&
b1 * kx2 != b2 * kx1
) && (cout << "No")
|| (is_overlap(x1, y1, x2, y2, x3, y3, x4, y4)) && (cout << "Yes")
|| (cout << "No")
) || (
y = (double)(b2 * ky1 - b1 * ky2) / (double)(kx1 * ky2 - kx2 * ky1),
x = (double)(b1 * kx2 - b2 * kx1) / (double)(ky1 * kx2 - ky2 * kx1),
(is_include(x1, y1, x2, y2, x3, y3, x4, y4, x, y)) && (cout << "Yes")
|| (cout << "No")
);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNkZWZpbmUgRSAxZS01CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpkb3VibGUgbGVuZ3RoKGRvdWJsZSB4MSwgZG91YmxlIHkxLCBkb3VibGUgeDIsIGRvdWJsZSB5Mil7CiAgcmV0dXJuIHNxcnQoKHgxIC0geDIpICogKHgxIC0geDIpICsgKHkxIC0geTIpICogKHkxIC0geTIpKTsKfQoKYm9vbCBpc19pbmNsdWRlKGludCB4MSwgaW50IHkxLCBpbnQgeDIsIGludCB5MiwgaW50IHgzLCBpbnQgeTMsIGludCB4NCwgaW50IHk0LCBkb3VibGUgeCwgZG91YmxlIHkpewogIHJldHVybiAoCiAgICBhYnMobGVuZ3RoKHgxLCB5MSwgeCwgeSkgLSBsZW5ndGgoeDEsIHkxLCB4MiwgeTIpICsgbGVuZ3RoKHgsIHksIHgyLCB5MikpIDw9IEUKICAmJgogICAgYWJzKGxlbmd0aCh4MywgeTMsIHgsIHkpIC0gbGVuZ3RoKHgzLCB5MywgeDQsIHk0KSArIGxlbmd0aCh4LCB5LCB4NCwgeTQpKSA8PSBFCiAgKTsKfQoKYm9vbCBpc19vdmVybGFwKGludCB4MSwgaW50IHkxLCBpbnQgeDIsIGludCB5MiwgaW50IHgzLCBpbnQgeTMsIGludCB4NCwgaW50IHk0KSB7CiAgcmV0dXJuKAogICAgYWJzKGxlbmd0aCh4MSwgeTEsIHgzLCB5MykgLSBsZW5ndGgoeDEsIHkxLCB4MiwgeTIpICsgbGVuZ3RoKHgzLCB5MywgeDIsIHkyKSkgPD0gRQogIHx8CiAgICAgIGFicyhsZW5ndGgoeDEsIHkxLCB4NCwgeTQpIC0gbGVuZ3RoKHgxLCB5MSwgeDIsIHkyKSArIGxlbmd0aCh4NCwgeTQsIHgyLCB5MikpIDw9IEUKICB8fAogICAgYWJzKGxlbmd0aCh4MywgeTMsIHgxLCB5MSkgLSBsZW5ndGgoeDMsIHkzLCB4NCwgeTQpICsgbGVuZ3RoKHgxLCB5MSwgeDQsIHk0KSkgPD0gRQogIHx8CiAgICAgIGFicyhsZW5ndGgoeDMsIHkzLCB4MiwgeTIpIC0gbGVuZ3RoKHgzLCB5MywgeDQsIHk0KSArIGxlbmd0aCh4MiwgeTIsIHg0LCB5NCkpIDw9IEUKICApOwp9CgppbnQgbWFpbigpIHsKICBsb25nIHgxLCB5MSwgeDIsIHkyLCB4MywgeTMsIHg0LCB5NDsKICBkb3VibGUgeCwgeTsKICBjaW4gPj4geDEgPj4geTEgPj4geDIgPj4geTIgPj4geDMgPj4geTMgPj4geDQgPj4geTQ7CiAgbG9uZyBsb25nIGt5MSwga3gxLCBiMSwga3kyLCBreDIsIGIyOwogIGt5MSA9IHkyIC0geTE7CiAga3kyID0geTQgLSB5MzsKICBreDEgPSB4MiAtIHgxOwogIGt4MiA9IHg0IC0geDM7CiAgYjEgPSB4MSAqIHkyIC0geDIgKiB5MTsKICBiMiA9IHgzICogeTQgLSB4NCAqIHkzOwogIChreDEgKiBreTIgPT0ga3gyICoga3kxKSAmJiAoCiAgICAoCiAgICAgIGIxICoga3kyICE9IGIyICoga3kxCiAgICAmJiAKICAgICAgYjEgKiBreDIgIT0gYjIgKiBreDEKICAgICkgJiYgKGNvdXQgPDwgIk5vIikKICAgIHx8IChpc19vdmVybGFwKHgxLCB5MSwgeDIsIHkyLCB4MywgeTMsIHg0LCB5NCkpICYmIChjb3V0IDw8ICJZZXMiKSAKICAgIHx8IChjb3V0IDw8ICJObyIpCiAgKSB8fCAoCiAgICB5ID0gKGRvdWJsZSkoYjIgKiBreTEgLSBiMSAqIGt5MikgLyAoZG91YmxlKShreDEgKiBreTIgLSBreDIgKiBreTEpLAogICAgeCA9IChkb3VibGUpKGIxICoga3gyIC0gYjIgKiBreDEpIC8gKGRvdWJsZSkoa3kxICoga3gyIC0ga3kyICoga3gxKSwKICAgIChpc19pbmNsdWRlKHgxLCB5MSwgeDIsIHkyLCB4MywgeTMsIHg0LCB5NCwgeCwgeSkpICYmIChjb3V0IDw8ICJZZXMiKQogICAgfHwgKGNvdXQgPDwgIk5vIikKICApOwogIHJldHVybiAwOwp9