#include <iostream>
#include <cmath>
using namespace std;
struct Point
{
double x;
double y;
};
double getDiff(Point p1,Point p2)
{
return sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
}
double getArea(Point p1,Point p2,Point p3)
{
double a = getDiff(p1, p2);
double b = getDiff(p1, p3);
double c = getDiff(p2, p3);
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
bool isInTriangle(Point p1, Point p2, Point p3, Point o)
{
double s1 = getArea(p1, p2, o);
double s2 = getArea(p2, p3, o);
double s3 = getArea(p3, p1, o);
double s = getArea(p1, p2, p3);
return s1 + s2 + s3 == s;
}
int main() {
Point p1, p2, p3, o;
cin >> p1.x >> p1.y;
cin >> p2.x >> p2.y;
cin >> p3.x >> p3.y;
cin >> o.x >> o.y;
bool flag = isInTriangle(p1, p2, p3, o);
if(flag)
{
cout << "该点 在 三角形中" << endl;
}
else
{
cout << "该点 不在 三角形中" << endl;
}
return 0;
}