Problem: Arpa is taking a geometry exam. Here is the last problem of the exam.

You are given three points a, b, c.

Find a point and an angle such that if we rotate the page around the point by the angle, the new position of a is the same as the old position of b, and the new position of b is the same as the old position of c.

Arpa is doubting if the problem has a solution or not (i.e. if there exists a point and an angle satisfying the condition). Help Arpa determine if the question has a solution or not.

Input

The only line contains six integers ax, ay, bx, by, cx, cy (|ax|, |ay|, |bx|, |by|, |cx|, |cy| ≤ 109). It's guaranteed that the points are distinct.

Output

Print "Yes" if the problem has a solution, "No" otherwise.

You can print each letter in any case (upper or lower).

Examples

Input

0 1 1 1 1 0


Output

Yes


Input

1 1 0 0 1000 1000


Output

No

Note

In the first sample test, rotate the page around (0.5, 0.5) by <image>.

In the second sample test, you can't find any solution.

Solution (in PYTHON):

Solution:
class point:
    x=0
    y=0

    def __init__(self,x,y):
        self.x=x
        self.y=y

    def __cmp__(self, b):
        if(self.cmp(b)):
            return -1
        elif b.cmp(self):
            return 1
        else:
            return 0

    def cmp(self, b):
        if (self.x == b.x):
            return self.y < b.y
        return self.x < b.x

    def printf(self):
        return self.x,self.y

def judge(a,b):
    return a.x*b.y==a.y*b.x

def dis(a,b):
    x=a.x*a.x+a.y*a.y
    y=b.x*b.x+b.y*b.y
    return x==y

ax,ay,bx,by,cx,cy=map(int,raw_input().split())
A=[]
A.append(point(ax,ay))
A.append(point(bx,by))
A.append(point(cx,cy))
B=point(A[1].x-A[0].x,A[1].y-A[0].y)
C=point(A[2].x-A[1].x,A[2].y-A[1].y)
if (not judge(B,C)) and dis(B,C):
    print 'Yes'
else:
    print 'No'