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

Solution:
import java.io.*;
import java.util.*;

public class Problems2{
   static class pair{
       long x;
       long y;
       public pair(int x,int y){
           this.x=x;
           this.y=y;
       }
   }
    public static void main(String[] args) throws IOException {
        FastScanner sc=new FastScanner(System.in);
        pair a=new pair(sc.nextInt(),sc.nextInt());
        pair b=new pair(sc.nextInt(),sc.nextInt());
        pair c=new pair(sc.nextInt(),sc.nextInt());
        
        if((b.y-a.y)*(b.x-c.x)==(b.y-c.y)*(b.x-a.x))System.out.println("No");
        else if(dis(a,b)==dis(b,c))System.out.println("Yes");
        else System.out.println("No");
            
        
        
    }
    public static long dis(pair a,pair b){
        return ((a.y-b.y)*(a.y-b.y))+((a.x-b.x)*(a.x-b.x));
    }
    public static double slop(pair a,pair b){
        return (a.y-b.y)/(a.x-b.x);
    }
    //__________________________________________________________
    static class FastScanner {
	    BufferedReader br;
	    StringTokenizer st;
		
	    public FastScanner(InputStream i) {
	        br =  new BufferedReader(new InputStreamReader(i));
	        st = new StringTokenizer("");
	    }
				
	    public String next() throws IOException {
	        if(st.hasMoreTokens())
	            return st.nextToken();
	        else
	            st = new StringTokenizer(br.readLine());
	        return next();
	    }

	    public int nextInt() throws IOException {
	        return Integer.parseInt(next());
	    }
	    //#
	    public long nextLong() throws IOException {
	        return Long.parseLong(next());
	    }
	    public double nextDouble() throws IOException {
	        return Double.parseDouble(next());
	    }
	    //$
	}
}