There is a triangle formed by three points $(x_1, y_1)$, $(x_2, y_2)$, $(x_3, y_3)$ on a plain.

Write a program which prints "YES" if a point $P$ $(x_p, y_p)$ is in the triangle and "NO" if not.

Constraints

You can assume that:

* $ -100 \leq x_1, y_1, x_2, y_2, x_3, y_3, x_p, y_p \leq 100$
* 1.0 $\leq$ Length of each side of a tringle
* 0.001 $\leq$ Distance between $P$ and each side of a triangle

Input

Input consists of several datasets. Each dataset consists of:

$x_1$ $y_1$ $x_2$ $y_2$ $x_3$ $y_3$ $x_p$ $y_p$


All the input are real numbers. Input ends with EOF. The number of datasets is less than or equal to 100.

Output

For each dataset, print "YES" or "NO" in a line.

Example

Input

0.0 0.0 2.0 0.0 2.0 2.0 1.5 0.5
0.0 0.0 1.0 4.0 5.0 3.0 -1.0 3.0


Output

YES
NO
import sys

def tri(x1,x2,y1,y2,z1,z2,p1,p2):
    a = (x1 - y1) * (y2 - p2) - (y1 - p1) * (x2 - y2)
    b = (y1 - z1) * (z2 - p2) - (z1 - p1) * (y2 - z2)
    c = (z1 - x1) * (x2 - p2) - (x1 - p1) * (z2 - x2)
    if(((a < 0) & (b < 0) & (c < 0)) | ((a > 0) & (b > 0) & (c > 0))):
        return 'YES'
    return 'NO'

ans = []
for i in sys.stdin:
    ans.append(tri(*map(float,i.split())))
print('\n'.join(map(str,ans)))