#include <bits/stdc++.h>
using namespace std;
bitset<1000006> status;
map<int, int> mp;
void shomoy() {}
int gcd(int a, int b) {
  int low, temp, high;
  if (a > b) {
    high = a;
    low = b;
  } else {
    low = a;
    high = b;
  }
  while (high % low) {
    temp = high;
    high = high % low;
    low = high;
  }
  return low;
}
int div(int n) {
  for (int i = 2; i * i <= n; i++) {
    if (n % i == 0) {
      return i;
    }
  }
  return n;
}
bool isprime(int n) {
  int f;
  for (f = 2; f * f <= n; f++) {
    if (n % f == 0) return false;
  }
  return true;
}
int main() {
  ios::sync_with_stdio();
  cin.tie(0);
  int k, a, b, c, d, n, x, m, t, temp, index, count = 0, total = 0, sum = 0,
                                              len, y, temp1;
  int x1, x2, x3, x4, y1, y2, y3, y4;
  scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
  int df, df2;
  df = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
  df2 = sqrt(((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)) / 2);
  temp = ((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)) / 2;
  if (x1 == x2) {
    x3 = x1 + df;
    x4 = x1 + df;
    y3 = y1;
    y4 = y2;
  } else if (y1 == y2) {
    x3 = x1;
    x4 = x2;
    y3 = y1 + df;
    y4 = y1 + df;
  } else if (df2 * df2 == temp && abs(x1 - x2) == abs(y1 - y2)) {
    x3 = x2;
    y3 = y1;
    x4 = x1;
    y4 = y2;
  } else {
    cout << "-1"
         << "\n";
    return 0;
  }
  cout << x3 << " " << y3 << " " << x4 << " " << y4 << "\n";
  shomoy();
  return 0;
}
