#include using namespace std; typedef long long ll; #define rep(i, n) for(ll i = 0, i##_len = (n); i < i##_len; i++) #define reps(i, s, n) for(ll i = (s), i##_len = (n); i < i##_len; i++) #define rrep(i, n) for(ll i = (n) - 1; i >= 0; i--) #define rreps(i, e, n) for(ll i = (n) - 1; i >= (e); i--) #define all(x) (x).begin(), (x).end() #define sz(x) ((ll)(x).size()) #define len(x) ((ll)(x).length()) // template // bool is_square(const vector> &xy) { // map m; // for(int i = 0; i < 4; i++) { // for(int j = i + 1; j < 4; j++) { // T dx = xy[i].first - xy[j].first; // T dy = xy[i].second - xy[j].second; // m[dx * dx + dy * dy]++; // } // } // T l = m.begin()->first; // if (l == 0) return false; // return ((m[l] == 4) && (m[l * 2] == 2)); // } template bool is_square(const vector> &xy) { vector v; for(int i = 0; i < 4; i++) { for(int j = i + 1; j < 4; j++) { T dx = xy[i].first - xy[j].first; T dy = xy[i].second - xy[j].second; v.push_back(dx * dx + dy * dy); } } sort(v.begin(), v.end()); T l = v[0]; if (l == 0) return false; return ((v[0] == l) && (v[1] == l) && (v[2] == l) && (v[3] == l) && (v[4] == l * 2) && (v[5] == l * 2)); } int main() { cin.tie(0); ios::sync_with_stdio(false); // ifstream in("input.txt"); // cin.rdbuf(in.rdbuf()); vector> xy(4); rep(i, 3) cin >> xy[i].first >> xy[i].second; reps(x, -200, 201) { reps(y, -200, 201) { xy[3].first = x; xy[3].second = y; if (is_square(xy)) { printf("%lld %lld\n", x, y); return 0; } } } printf("-1\n"); return 0; }