#include using namespace std; typedef long long ll; typedef pair PII; const int MM = 1e9 + 7; const double eps = 1e-8; const int MAXN = 2e6 + 10; int n, m; void prework(){ } void read(){ } struct Pt3{ double x, y, z; }; inline double sqr(double x){ return x * x; } inline Pt3 operator - (const Pt3 & a){ return (Pt3){ -a.x, -a.y, -a.z}; } inline Pt3 operator + (const Pt3 & a, const Pt3 & b){ return (Pt3){a.x + b.x, a.y + b.y, a.z + b.z}; } inline Pt3 operator - (const Pt3 & a, const Pt3 & b){ return (Pt3){a.x - b.x, a.y - b.y, a.z - b.z}; } inline Pt3 operator * (const Pt3 & a, double u){ return (Pt3){a.x * u, a.y * u, a.z * u}; } inline double operator % (const Pt3 & a, const Pt3 & b){ return a.x * b.x + a.y * b.y + a.z * b.z; } inline Pt3 operator * (const Pt3 & a, const Pt3 & b){ return (Pt3){ a.y * b.z - a.z * b.y, a.z * b.x - a.x * b.z, a.x * b.y - a.y * b.x }; } int cmp_side(const Pt3 & a, const Pt3 & b){ return a.y * b.z - a.z * b.y || a.z * b.x - a.x * b.z || a.x * b.y - a.y * b.x; } ll cmp_axis(const Pt3 & a, const Pt3 & b){ ll x = a.x * b.x, y = a.y * b.y, z = a.z * b.z; return x + y + z; } double len(const Pt3 & a){ return sqrt(sqr(a.x) + sqr(a.y) + sqr(a.z)); } Pt3 a[4]; /* int sgn(const Pt3 & a, const Pt3 & b){ double tmp = len(a * b); if (fabs(tmp) < eps) return 0; else return (tmp < 0 ? -1 : 1); }*/ double area(const Pt3 & a, const Pt3 & b, const Pt3 & c){ return len((b-a)*(c-a)); } double eql(double a, double b){ return fabs(a-b)>=eps+fabs(a)*eps?a-b:0; } void solve(int casi){ // cout << "Case #" << casi << ": "; for (int i = 0; i < 4; i++) cin >> a[i].x >> a[i].y >> a[i].z; Pt3 AB = a[1] - a[0]; Pt3 AC = a[2] - a[0]; Pt3 Nm = AB * AC; double h = (Nm % (a[0] - a[3])) * 1.0 / len(Nm); Nm = Nm * (h / len(Nm)); a[3] = a[3] + Nm; /* int sgn1 = sgn(a[0] - a[3], a[1] - a[3]); int sgn2 = sgn(a[1] - a[3], a[2] - a[3]); int sgn3 = sgn(a[2] - a[3], a[0] - a[3]);*/ //if (sgn1 == sgn2 && sgn2 == sgn3) if (0==eql(area(a[0], a[1], a[2]), area(a[0],a[1],a[3])+area(a[0],a[2],a[3])+area(a[1],a[2],a[3]))) puts("YES"); else puts("NO"); } void printans(){ } int main(){ // std::ios::sync_with_stdio(false); prework(); int T = 1; // cin>>T; for(int i = 1; i <= T; i++){ read(); solve(i); printans(); } return 0; }