using System; using System.Collections; using System.Collections.Generic; class TEST{ static void Main(){ Sol mySol =new Sol(); mySol.Solve(); } } class Sol{ public void Solve(){ var d=ria(); Point[] P=new Point[3]; P[0]=new Point(d[0],d[1]); P[1]=new Point(d[2],d[3]); P[2]=new Point(d[4],d[5]); if(Point.IP(P[1]-P[0],P[2]-P[0])==0){ if(Point.IP(P[1]-P[0],P[1]-P[0])==Point.IP(P[2]-P[0],P[2]-P[0])){ Point Q=(P[1]-P[0])+(P[2]-P[0])+P[0]; Console.WriteLine("{0} {1}",Q.X,Q.Y); return; } } if(Point.IP(P[0]-P[1],P[2]-P[1])==0){ if(Point.IP(P[0]-P[1],P[0]-P[1])==Point.IP(P[2]-P[1],P[2]-P[1])){ Point Q=(P[0]-P[1])+(P[2]-P[1])+P[1]; Console.WriteLine("{0} {1}",Q.X,Q.Y); return; } } if(Point.IP(P[0]-P[2],P[1]-P[2])==0){ if(Point.IP(P[0]-P[2],P[0]-P[2])==Point.IP(P[1]-P[2],P[1]-P[2])){ Point Q=(P[0]-P[2])+(P[1]-P[2])+P[2]; Console.WriteLine("{0} {1}",Q.X,Q.Y); return; } } Console.WriteLine(-1); } public Sol(){ } class Point{ public int X; public int Y; public Point(int x_,int y_){ X=x_;Y=y_; } public static int IP(Point x,Point y){ return x.X*y.X+x.Y*y.Y; } public static Point operator+(Point x,Point y){ return new Point(x.X+y.X,x.Y+y.Y); } public static Point operator-(Point x,Point y){ return new Point(x.X-y.X,x.Y-y.Y); } } static String rs(){return Console.ReadLine();} static int ri(){return int.Parse(Console.ReadLine());} static long rl(){return long.Parse(Console.ReadLine());} static double rd(){return double.Parse(Console.ReadLine());} static String[] rsa(){return Console.ReadLine().Split(' ');} static int[] ria(){return Array.ConvertAll(Console.ReadLine().Split(' '),e=>int.Parse(e));} static long[] rla(){return Array.ConvertAll(Console.ReadLine().Split(' '),e=>long.Parse(e));} static double[] rda(){return Array.ConvertAll(Console.ReadLine().Split(' '),e=>double.Parse(e));} }