#include<iostream>
using namespace std;

struct coefficient
{
	double a, b, c;
};

double x[4], y[4];
coefficient line[3];

double det(double a00, double a10, double a01, double a11)
{
	return a00*a11 - a10*a01;
}

void solve()
{
	while (true)
	{
		bool flag = 1;
		for (int i = 0; i < 3; i++)
		{
			if (!(cin >> x[i] >> y[i]))
				return;
		}
		cin >> x[3] >> y[3];

		double t = det(x[1], y[1], x[2], y[2]);
		if (t == 0.0)
		{
			if (x[1] == 0.0 && y[1] == 0.0)
			{
				line[0].a = -y[2] / x[2];
				line[0].b = 1.0;
				line[0].c = 0.0;
			}
			else
				line[0].a = -y[1] / x[1];
				line[0].b = 1.0;
				line[0].c = 0.0;
		}
		else
		{
			line[0].a = det(-1, y[1], -1, y[2]) / t;
			line[0].b = det(x[1], -1, x[2], -1) / t;
			line[0].c = 1.0;
		}

		t = det(x[0], y[0], x[2], y[2]);
		if (t == 0.0)
		{
			if (x[0] == 0.0 && y[0] == 0.0)
			{
				line[1].a = -y[2] / x[2];
				line[1].b = 1.0;
				line[1].c = 0.0;
			}
			else
			{
				line[1].a = -y[0] / x[0];
				line[1].b = 1.0;
				line[1].c = 0.0;
			}
		}
		else
		{
			line[1].a = det(-1, y[0], -1, y[2]) / t;
			line[1].b = det(x[0], -1, x[2], -1) / t;
			line[1].c = 1.0;
		}
	
		t = det(x[1], y[1], x[0], y[0]);
		if (t == 0.0)
		{
			if (x[1] == 0.0 && y[1] == 0.0)
			{
				line[2].a = -y[0] / x[0];
				line[2].b = 1.0;
				line[2].c = 0.0;
			}
			else
			{
				line[2].a = -y[1] / x[1];
				line[2].b = 1.0;
				line[2].c = 0.0;
			}
		}
		else
		{
			line[2].a = det(-1, y[1], -1, y[0]) / t;
			line[2].b = det(x[1], -1, x[0], -1) / t;
			line[2].c = 1.0;
		}
	
		for (int j = 0; j < 3; j++)
		{
			double pmP = line[j].a*x[3] + line[j].b*y[3] + line[j].c;
			double pmT = line[j].a*x[j] + line[j].b*y[j] + line[j].c;
			if (pmP / pmT < 0)
			{
				flag = 0;
				cout << "NO" << endl;
			}
		}
		if (flag)
			cout << "YES" << endl;
	}
}

int main()
{
	solve();
	return 0;
}