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
import java.util.Scanner;

public class P102E {

    public static void main(String[] args) {
        Scanner inScanner = new Scanner(System.in);
        long xA = inScanner.nextLong();
        long yA = inScanner.nextLong();
        long xB = inScanner.nextLong();
        long yB = inScanner.nextLong();
        long xC1 = inScanner.nextLong();
        long yC1 = inScanner.nextLong();
        long xC2 = yC1;
        long yC2 = -xC1;
        for (int i = 0; i < 4; i++) {
            long xDiff = xB - xA;
            long yDiff = yB - yA;
            if (xDiff == 0 && yDiff == 0) {
                System.out.println("YES");
                return;
            }
            double coord1 = (double) (xDiff * xC1 + yDiff * yC1)
                    / (xC1 * xC1 + yC1 * yC1);
            double coord2 = (double) (xDiff * xC2 + yDiff * yC2)
                    / (xC2 * xC2 + yC2 * yC2);
            if (Math.abs(Math.floor(coord1) - coord1) < Double.MIN_VALUE
                    && Math.abs(Math.floor(coord2) - coord2) < Double.MIN_VALUE) {
                System.out.println("YES");
                return;
            }
            long temp = xA;
            xA = yA;
            yA = -temp;
        }
        System.out.println("NO");
    }
}
