def InnerProduct(u,v,w):return sum((y-x)*(z-x)for x,y,z in zip(u,v,w)) def Area(u,v,w):return(v[0]-u[0])*(w[1]-u[1])-(v[1]-u[1])*(w[0]-u[0]) def sign(n):return[-1,1][n>0]if n else 0 def L22(v):return v[0]**2+v[1]**2 def L22_Distance(u,v):return L22([u[0]-v[0],u[1]-v[1]]) J=lambda:list(map(int,input().split())) A=[J(),J(),J(),J()] if any(Area(A[i],A[(i+1)&3],A[(i+2)&3])==0 for i in range(4)):exit(print("NO")) if sign(Area(A[0],A[1],A[2]))!=sign(Area(A[0],A[1],A[3])):i,j,k,l=0,1,2,3 elif sign(Area(A[0],A[2],A[1]))!=sign(Area(A[0],A[2],A[3])):i,j,k,l=0,2,1,3 else:i,j,k,l=0,3,1,2 print("YNEOS"[InnerProduct(A[k],A[i],A[j])**2*L22_Distance(A[l],A[i])*L22_Distance(A[l],A[j])!=InnerProduct(A[l],A[i],A[j])**2*L22_Distance(A[k],A[i])*L22_Distance(A[k],A[j])::2])