#include <bits/stdc++.h>
using namespace std;
struct point {
  int x, y;
  point() { x = y = 0; }
  point(int x, int y) {
    this->x = x;
    this->y = y;
  }
};
int inline Abs(int n) { return n < 0 ? n * -1 : n; }
int main() {
  point a, b, c, d;
  while (cin >> a.x >> a.y >> b.x >> b.y) {
    int difX = Abs(a.x - b.x), difY = Abs(a.y - b.y);
    if (a.x == b.x) {
      cout << a.x + difY << " " << a.y << " " << b.x + difY << " " << b.y
           << endl;
    } else if (a.y == b.y) {
      cout << a.x << " " << a.y + difX << " " << b.x << " " << b.y + difX
           << endl;
    } else if (difX != difY) {
      cout << -1 << endl;
    } else {
      if (a.y < b.y) swap(a, b);
      if (a.x > b.x) swap(a, b);
      cout << a.x << " " << b.y << " " << b.x << " " << a.y << endl;
    }
  }
  return 0;
}
