#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
#include <deque>
#include <cmath>
#include <set>
#include <unordered_map>
using namespace std;
#define all(v) ((v).begin()), ((v).end())
#define sz(v) ((int)((v).size()))
#define clr(v, d) memset(v, d, sizeof(v))
#define rep(i, v) for (int i = 0; i < sz(v); ++i)
#define lp(i, n) for (int i = 0; i < (int)(n); ++i)
#define lpi(i, j, n) for (int i = (j); i < (int)(n); ++i)
#define lpd(i, j, n) for (int i = (j); i >= (int)(n); --i)
typedef long long ll;
void fast_io()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
int main()
{
fast_io();
double x01=0,y01=0,x02=0,y02=0;
cin >> x01 >> y01 >> x02 >> y02;
double x11=0,y11=0,x12=0,y12=0;
cin >> x11 >> y11 >> x12 >> y12;
double radius0 = sqrt((x01-x02)*(x01-x02) + (y01-y02)*(y01-y02))/2;
double radius1 = sqrt((x11-x12)*(x11-x12) + (y11-y12)*(y11-y12))/2;
double center0x = (x01+x02)/2;
double center0y = (y01+y02)/2;
double center1x = (x11+x12)/2;
double center1y = (y11+y12)/2;
double centers = sqrt((center1x-center0x)*(center1x-center0x) + (center1y-center0y)*(center1y-center0y));
if (centers < radius0+radius1){
if (x01 >= x11 && y01 >= y11 || x01 >= x11 && y01 == y11 || y01 >= y11 && x01 == x11){
cout << x01 << ' ' << y01 << ' ';
}else{
cout << x11 << ' ' << y11 << ' ';
}
if (x02 <= x12 && y02 <= y12 || x02 <= x12 && y02 == y12 || y02 <= y12 && x02 == x12){
cout << x02 << ' ' << y02 << endl;
}else{
cout << x12 << ' ' << y12 << endl;
}
}
else
cout << -1 << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8ZGVxdWU+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBhbGwodikgKCh2KS5iZWdpbigpKSwgKCh2KS5lbmQoKSkKI2RlZmluZSBzeih2KSAoKGludCkoKHYpLnNpemUoKSkpCiNkZWZpbmUgY2xyKHYsIGQpIG1lbXNldCh2LCBkLCBzaXplb2YodikpCiNkZWZpbmUgcmVwKGksIHYpIGZvciAoaW50IGkgPSAwOyBpIDwgc3oodik7ICsraSkKI2RlZmluZSBscChpLCBuKSBmb3IgKGludCBpID0gMDsgaSA8IChpbnQpKG4pOyArK2kpCiNkZWZpbmUgbHBpKGksIGosIG4pIGZvciAoaW50IGkgPSAoaik7IGkgPCAoaW50KShuKTsgKytpKQojZGVmaW5lIGxwZChpLCBqLCBuKSBmb3IgKGludCBpID0gKGopOyBpID49IChpbnQpKG4pOyAtLWkpCnR5cGVkZWYgbG9uZyBsb25nIGxsOwoKdm9pZCBmYXN0X2lvKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgY291dC50aWUobnVsbHB0cik7CiAgICAjaWZuZGVmIE9OTElORV9KVURHRQogICAgICAgIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiAgICAjZW5kaWYKfQppbnQgbWFpbigpCnsKICAgIGZhc3RfaW8oKTsKCiAgICBkb3VibGUgeDAxPTAseTAxPTAseDAyPTAseTAyPTA7CiAgICBjaW4gPj4geDAxID4+IHkwMSA+PiB4MDIgPj4geTAyOwoKICAgIGRvdWJsZSB4MTE9MCx5MTE9MCx4MTI9MCx5MTI9MDsKICAgIGNpbiA+PiB4MTEgPj4geTExID4+IHgxMiA+PiB5MTI7CiAgICAKICAgIGRvdWJsZSByYWRpdXMwID0gc3FydCgoeDAxLXgwMikqKHgwMS14MDIpICsgKHkwMS15MDIpKih5MDEteTAyKSkvMjsKICAgIGRvdWJsZSByYWRpdXMxID0gc3FydCgoeDExLXgxMikqKHgxMS14MTIpICsgKHkxMS15MTIpKih5MTEteTEyKSkvMjsKCiAgICBkb3VibGUgY2VudGVyMHggPSAoeDAxK3gwMikvMjsKICAgIGRvdWJsZSBjZW50ZXIweSA9ICh5MDEreTAyKS8yOwogICAgZG91YmxlIGNlbnRlcjF4ID0gKHgxMSt4MTIpLzI7CiAgICBkb3VibGUgY2VudGVyMXkgPSAoeTExK3kxMikvMjsKICAgIAogICAgZG91YmxlIGNlbnRlcnMgPSBzcXJ0KChjZW50ZXIxeC1jZW50ZXIweCkqKGNlbnRlcjF4LWNlbnRlcjB4KSArIChjZW50ZXIxeS1jZW50ZXIweSkqKGNlbnRlcjF5LWNlbnRlcjB5KSk7CgogICAgaWYgKGNlbnRlcnMgPCByYWRpdXMwK3JhZGl1czEpewogICAgICAgIGlmICh4MDEgPj0geDExICYmIHkwMSA+PSB5MTEgfHwgeDAxID49IHgxMSAmJiB5MDEgPT0geTExIHx8IHkwMSA+PSB5MTEgJiYgeDAxID09IHgxMSl7CiAgICAgICAgICAgIGNvdXQgPDwgeDAxIDw8ICcgJyA8PCB5MDEgPDwgJyAnOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBjb3V0IDw8IHgxMSA8PCAnICcgPDwgeTExIDw8ICcgJzsKICAgICAgICB9CiAgICAgICAgaWYgKHgwMiA8PSB4MTIgJiYgeTAyIDw9IHkxMiB8fCB4MDIgPD0geDEyICYmIHkwMiA9PSB5MTIgfHwgeTAyIDw9IHkxMiAmJiB4MDIgPT0geDEyKXsKICAgICAgICAgICAgY291dCA8PCB4MDIgPDwgJyAnIDw8IHkwMiA8PCBlbmRsOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBjb3V0IDw8IHgxMiA8PCAnICcgPDwgeTEyIDw8IGVuZGw7CiAgICAgICAgfQogICAgfQogICAgZWxzZQogICAgICAgIGNvdXQgPDwgLTEgPDwgZW5kbDsKfQ==