#include <iostream>
#include <iomanip>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <algorithm>
#include <sstream>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <numeric>
#include <cmath>
#include <climits>
#include <limits>
#include <cfloat>
#include <fstream>
using namespace std;

int main()
{
//	cut here before submit 
//	freopen("testcase.pt", "r", stdin);
	string str = "";

	while (getline (cin, str )){
		if (str.empty() ){
			break;
		} // end if

		vector <double> tpx (3, 0.);
		vector <double> tpy (3, 0.);
		double px = 0.;
		double py = 0.;
		int i;
	
		stringstream ss(str);
		for (i = 0; i < 3; ++i){
			ss >> tpx[i] >> tpy[i];
		} // end for
		ss >> px >> py;
		 
		vector <double> vx(3, 0.);
		vector <double> vy(3, 0.);
		vector <double> vpx(3, 0.);
		vector <double> vpy(3, 0.);

		for (i = 0; i < 3; ++i){
			vx[i] = tpx[(i+1) % 3] - tpx[i];
			vy[i] = tpy[(i+1) % 3] - tpy[i];
		} // end for
		for (i = 0; i < 3; ++i){
			vpx[i] = px - tpx[i];
			vpy[i] = py - tpy[i];
		} // end for
		
		vector <double> D(3, 0.);
		for (i = 0; i < 3; ++i){
			D[i] = (vx[i]*vpy[i] - vy[i]*vpx[i]);
		} // end for

		for (i = 0; i < 3; ++i){
			if (D[i] > 0.0){
				continue;
			}else{
				cout << "NO" << endl;
				break;
			} // end if
		} // end for
		if (i == 3){
			cout << "YES" << endl;
		} // end if 
	
	} // end while
		
	return 0;
}