101_C. Vectors
At a geometry lesson Gerald was given a task: to get vector B out of vector A. Besides, the teacher permitted him to perform the following operations with vector А:

  * Turn the vector by 90 degrees clockwise.
  * Add to the vector a certain vector C.



Operations could be performed in any order any number of times.

Can Gerald cope with the task?

Input

The first line contains integers x1 и y1 — the coordinates of the vector A ( - 108 ≤ x1, y1 ≤ 108). The second and the third line contain in the similar manner vectors B and C (their coordinates are integers; their absolute value does not exceed 108).

Output

Print "YES" (without the quotes) if it is possible to get vector B using the given operations. Otherwise print "NO" (without the quotes).

Examples

Input

0 0
1 1
0 1


Output

YES


Input

0 0
1 1
1 1


Output

YES


Input

0 0
1 1
2 2


Output

NO
```python
import math

def ok(xa, ya):
    x, y = xb - xa, yb - ya
    d = math.gcd(abs(xc), abs(yc))
    if xc == 0 and yc == 0:
        return x == 0 and y == 0
    if xc == 0:
        return x % yc == 0 and y % yc == 0
    if yc == 0:
        return x % xc == 0 and y % xc == 0
    if (x % d != 0) or (y % d != 0):
        return 0
    a, b, c1, c2 = xc // d, yc // d, x // d, -y // d
    if a == 0 and b == 0:
        return c1 == 0 and c2 == 0
    if (c1 * b + c2 * a) % (a * a + b * b) != 0:
        return 0
    yy = (c1 * b + c2 * a) / (a * a + b * b)
    if a == 0:
        return (c2 - a * yy) % b == 0
    else:
        return (c1 - b * yy) % a == 0


xa, ya = map(int,input().split())
xb, yb = map(int,input().split())
xc, yc = map(int,input().split())
if ok(xa, ya) or ok(-ya, xa) or ok(-xa, -ya) or ok(ya, -xa):
    print('YES')
else:
    print('NO')

```