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 PYTHON3):

Solution:
def is_midpoint(p1,p2,p3):
    if (p1[0]+p2[0])/2==p3[0] and (p1[1]+p2[1])/2==p3[1]:
        return True
    else:
        return False

def distance(p1,p2):
    return (((p2[0]-p1[0])**2)+((p2[1]-p1[1])**2))

def same_slope(p1,p2,p3):
    if is_midpoint(p1,p2,p3) or is_midpoint(p2,p1,p3) or is_midpoint(p1,p3,p2):
        return False
    elif distance(p1,p2)==distance(p2,p3):
        return True
    else:
        return False

a_x,a_y,b_x,b_y,c_x,c_y=map(int,input().split())
p1=[a_x,a_y]
p2=[b_x,b_y]
p3=[c_x,c_y]
if same_slope(p1,p2,p3):
    print("YES")
else:
    print("NO")