#include <cstdio>           // printf(), scanf()
#include <cmath>            // fabs(), sqrt()
#include <algorithm>        // swap()

using namespace std;
static const double EPS = 1e-10;

class Point
{
public:
	double x, y;

	Point(double x = 0, double y = 0): x(x), y(y) {}
	Point operator - (Point p) { return Point(x - p.x, y - p.y); }
};

typedef Point Vector;

double
norm(Vector a)
{
	return a.x * a.x + a.y * a.y;
}

double
abs(Vector a)
{
	return sqrt(norm(a));
}

double
dot(Vector a, Vector b)
{
	return a.x * b.x + a.y * b.y;
}


double
cross(Vector a, Vector b)
{
	return a.x * b.y - a.y * b.x;
}

Point g[3];
Point p;

bool
solve()
{
	bool f = false;
	for (int i = 0; i < 3; ++i)
	{
		Point a = g[i] - p, b = g[(i + 1) % 3] - p;
		if (abs(cross(a, b)) < EPS && dot(a, b) < EPS)
			return false;

		if (a.y > b.y)
			swap(a, b);

		if (a.y < EPS && EPS < b.y && cross(a, b) > EPS)
			f = !f;
	}

	return f;
}

int
main(int argc, char** argv)
{
	while (true)
	{
		int i;

		for (i = 0; i < 3; ++i)
		{
			if (scanf("%lf %lf", &g[i].x, &g[i].y) == EOF)
				break;
		}

		if (i < 3 || scanf("%lf %lf", &p.x, &p.y) == EOF)
			break;


		printf("%s\n", solve() ? "YES" : "NO");
	}

	return 0;
}