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.io.*;
import java.lang.Math;
import java.util.Scanner;

public class E
{
	public static Scanner in;
	public static PrintStream out;
	
	public static void test()
	{
		long x1 = in.nextLong();
		long y1 = in.nextLong();
		
		long x2 = in.nextLong();
		long y2 = in.nextLong();
		
		long a = in.nextLong();
		long b = in.nextLong();
		
		long d = a*a+b*b;
		
		if (d==0)
		{
			if ( (x1==x2)&&(y1==y2) || (x1==y2)&&(x2==-y1) || (x1==-y2)&&(x2==y1) || (x1==-x2)&&(y1==-y2) )
			{
				out.println("YES");
			}
			else
			{
				out.println("NO");
			}
		
			return;
		}
		
		long x = x2-x1;
		long y = y2-y1;
		
		long k1 = a*x+b*y;
		long k2 = a*y-b*x;
		
		if (  (k1 % d == 0)&&(k2 % d == 0))
		{
			out.println("YES");
			return;
		}
		
		 x = x2-y1;
		 y = y2+x1;
		
		 k1 = a*x+b*y;
		 k2 = a*y-b*x;
		
		if (  (k1 % d == 0)&&(k2 % d == 0))
		{
			out.println("YES");
			return;
		}
		
		 x = x2+y1;
		 y = y2-x1;
		
		 k1 = a*x+b*y;
		 k2 = a*y-b*x;
		
		if (  (k1 % d == 0)&&(k2 % d == 0))
		{
			out.println("YES");
			return;
		}
		
		x = x1+x2;
		 y = y1+y2;
		
		 k1 = a*x+b*y;
		 k2 = a*y-b*x;
		
		if (  (k1 % d == 0)&&(k2 % d == 0))
		{
			out.println("YES");
			return;
		}
		
		else
		{
			out.println("NO");
		}
		
	}
       
	public static void main(String args[])
	{
		try
		{
			//in = new Scanner(new File("in.txt"));
			//out = new PrintStream(new File("out.txt"));
			in = new Scanner(System.in);
			out = System.out;
		}
		catch (Exception e)
		{
			return;
		}
	   
		//int t = in.nextInt();
		//for (int i=0; i<t; i++)
		{
			test();
		}
	}
}

