#define _CRT_SECURE_NO_WARNINGS #include using namespace std; #define len(n) (int)n.length() #define pb push_back #define ll long long #define make_pair mkp #define REP(i, n) for(int i = 0;i < n;i++) #define REPR(i, n) for(int i = n;i >= 0;i--) #define FOR(i, m, n) for(int i = m;i < n;i++) #define ALL(v) (v).begin(), (v).end() #ifdef DBGPRT #define dbg(n) cerr << "//" << #n << ":" << n < LLARR; #define INF 999999999 const double PI = 3.1415926535897932384626433832795; class P { public: P(int xx, int yy) { x = xx; y = yy; } int x = 0; int y = 0; }; int main() { ios::sync_with_stdio(false); vector

v; vector p = {0,1,2}; REP(i,3) { int x,y; cin >> x >> y; v.pb(P(x,y)); } bool bFound = false; do { int n = ((v[p[0]].x - v[p[1]].x) * (v[p[2]].x - v[p[1]].x)) + ((v[p[0]].y - v[p[1]].y) * (v[p[2]].y - v[p[1]].y)); double s1 = sqrt(pow((v[p[0]].x - v[p[1]].x),2) + pow((v[p[0]].y - v[p[1]].y),2)); double s2 = sqrt(pow((v[p[2]].x - v[p[1]].x),2) + pow((v[p[2]].y - v[p[1]].y),2)); if ((n == 0) && (s1 == s2)) { cout << v[p[2]].x + v[p[0]].x - v[p[1]].x << " " << v[p[2]].y + v[p[0]].y- v[p[1]].y << endl; bFound = true; break; } } while (next_permutation(p.begin(), p.end())); if (!bFound) { cout << -1 << endl; } return 0; }