#include <iostream>
using namespace std;
struct point {
double x, y;
};
struct point get() {
struct point a;
cin >> a.x >> a.y;
return a;
}
double location(struct point a, struct point b, struct point d) {
return (d.x - a.x) * (b.y - a.y) - (d.y - a.y) * (b.x - a.x);
}
// Лежат ли точки C и D с одной стороны прямой (AB)?
bool f(struct point a, struct point b, struct point c, struct point d)
{
return g(a, b, c) * g(a, b, d) >= 0;
}
int main()
{
struct point a = get(), b = get(), c = get(), d = get();
printf( f(a,b,c,d) && f(b,c,a,d) && f(c,a,b,d) ? "yes" : "no");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKIApzdHJ1Y3QgcG9pbnQgeyAKCWRvdWJsZSB4LCB5OyAKfTsKCnN0cnVjdCBwb2ludCBnZXQoKSB7CglzdHJ1Y3QgcG9pbnQgYTsKCWNpbiA+PiBhLnggPj4gYS55OwoJcmV0dXJuIGE7Cn0KCmRvdWJsZSBsb2NhdGlvbihzdHJ1Y3QgcG9pbnQgYSwgc3RydWN0IHBvaW50IGIsIHN0cnVjdCBwb2ludCBkKSB7CglyZXR1cm4gKGQueCAtIGEueCkgKiAoYi55IC0gYS55KSAtIChkLnkgLSBhLnkpICogKGIueCAtIGEueCk7Cn0KIAovLyDQm9C10LbQsNGCINC70Lgg0YLQvtGH0LrQuCBDINC4IEQg0YEg0L7QtNC90L7QuSDRgdGC0L7RgNC+0L3RiyDQv9GA0Y/QvNC+0LkgKEFCKT8KYm9vbCBmKHN0cnVjdCBwb2ludCBhLCBzdHJ1Y3QgcG9pbnQgYiwgc3RydWN0IHBvaW50IGMsIHN0cnVjdCBwb2ludCBkKSAKewoJcmV0dXJuIGcoYSwgYiwgYykgKiBnKGEsIGIsIGQpID49IDA7Cn0KIAppbnQgbWFpbigpIAp7CglzdHJ1Y3QgcG9pbnQgYSA9IGdldCgpLCBiID0gZ2V0KCksIGMgPSBnZXQoKSwgZCA9IGdldCgpOwoJcHJpbnRmKAlmKGEsYixjLGQpICYmIGYoYixjLGEsZCkgJiYgZihjLGEsYixkKSA/ICJ5ZXMiIDogIm5vIik7CglyZXR1cm4gMDsKfQ==