#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int mod = 1e9 + 7; const ll infll = (1LL << 62) - 1; const int inf = (1 << 30) - 1; #define rep(i,n) for (int i=0; i < (n); i++) typedef double D; // 座標値の型。doubleかlong doubleを想定 typedef complex P; // Point typedef pair L; // Line typedef vector

VP; const D EPS = 1e-9; // 許容誤差。問題によって変える #define X real() #define Y imag() #define LE(n,m) ((n) < (m) + EPS) #define GE(n,m) ((n) + EPS > (m)) #define EQ(n,m) (abs((n)-(m)) < EPS) D dot(P a, P b) { return (conj(a)*b).X; } int main(){ cout << fixed << setprecision(10); vectorx(6); rep(i,6)cin >> x[i]; VP pt(3); rep(i,3)pt[i]=P(x[2*i],x[2*i+1]); rep(i,3){ P v1=pt[(i+1)%3]-pt[i],v2=pt[(i+2)%3]-pt[i]; if(EQ(dot(v1,v2),0)){ if(EQ(norm(v1),norm(v2))){ P ans = pt[i]+v1+v2; cout << (int)ans.real() << " " << (int)ans.imag() << endl; return 0; } } } cout << -1 << endl; return 0; }