#include <iostream>
#include <cmath>
using namespace std;

constexpr double pi = 3.14159265358979323846;

struct vec2d
{
    double x, y;

    double dot(vec2d const & other)
    {
        return x * other.x + y * other.y;
    }

    double norm()
    {
        return sqrt(x * x + y * y);
    }
};

int main()
{
    double x1, y1, x2, y2, x3, y3, xp, yp;
    vec2d v1p, v2p, v3p;
    vec2d v12, v23, v31;
    double a121p, a232p, a313p;
    vec2d v32, v21, v13;
    double a323p, a212p, a131p;

    while (cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> xp >> yp) {
        v1p = vec2d{xp - x1, yp - y1};
        v2p = vec2d{xp - x2, yp - y2};
        v3p = vec2d{xp - x3, yp - y3};

        v12 = vec2d{x2 - x1, y2 - y1};
        v23 = vec2d{x3 - x2, y3 - y2};
        v31 = vec2d{x1 - x3, y1 - y3};

        v32 = vec2d{x2 - x3, y2 - y3};
        v21 = vec2d{x1 - x2, y1 - y2};
        v13 = vec2d{x3 - x1, y3 - y1};

        a121p = acos(v12.dot(v1p) / (v12.norm() * v1p.norm()));
        a232p = acos(v23.dot(v2p) / (v23.norm() * v2p.norm()));
        a313p = acos(v31.dot(v3p) / (v31.norm() * v3p.norm()));

        a323p = acos(v32.dot(v3p) / (v32.norm() * v3p.norm()));
        a212p = acos(v21.dot(v2p) / (v21.norm() * v2p.norm()));
        a131p = acos(v13.dot(v1p) / (v13.norm() * v1p.norm()));

        if (a121p <= pi / 2 && a232p <= pi / 2 && a313p <= pi / 2 && a323p <= pi / 2 && a212p <= pi / 2 && a131p <= pi / 2) {
            cout << "YES" << endl;
        } else {
            cout << "NO" << endl;
        }
    }

    return 0;
}