#include <iostream>
using namespace std;
int main()
{
int l1, r1, l2, r2;
cin >> l1 >> r1 >> l2 >> r2;
// make l1 and r1 represent the left range
// and l2 and r2 represent the right range
if (l1 > l2)
{
// swap l1 with l2
int tmpL = l1;
l1 = l2;
l2 = tmpL;
// swap r1 with r2
int tmpR = r1;
r1 = r2;
r2 = tmpR;
}
if (l2 > r1)
{
// no intersection between the 2 ranges
cout << -1;
}
else
{
// check the start and end of the intersection between the 2 ranges
int rangeL = l2, rangeR;
// check the end of the range, it can be r1 or r2 (the least between them)
if (r1 < r2)
{
rangeR = r1;
}
else
{
rangeR = r2;
}
cout << rangeL << " " << rangeR;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBpbnQgbDEsIHIxLCBsMiwgcjI7CiAgICBjaW4gPj4gbDEgPj4gcjEgPj4gbDIgPj4gcjI7CiAgICAvLyBtYWtlIGwxIGFuZCByMSByZXByZXNlbnQgdGhlIGxlZnQgcmFuZ2UKICAgIC8vIGFuZCAgbDIgYW5kIHIyIHJlcHJlc2VudCB0aGUgcmlnaHQgcmFuZ2UKICAgIGlmIChsMSA+IGwyKQogICAgewogICAgICAgIC8vIHN3YXAgbDEgd2l0aCBsMgogICAgICAgIGludCB0bXBMID0gbDE7CiAgICAgICAgbDEgPSBsMjsKICAgICAgICBsMiA9IHRtcEw7CiAgICAgICAgLy8gc3dhcCByMSB3aXRoIHIyCiAgICAgICAgaW50IHRtcFIgPSByMTsKICAgICAgICByMSA9IHIyOwogICAgICAgIHIyID0gdG1wUjsKICAgIH0KICAgIGlmIChsMiA+IHIxKQogICAgewogICAgICAgIC8vIG5vIGludGVyc2VjdGlvbiBiZXR3ZWVuIHRoZSAyIHJhbmdlcwogICAgICAgIGNvdXQgPDwgLTE7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgLy8gY2hlY2sgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgdGhlIGludGVyc2VjdGlvbiBiZXR3ZWVuIHRoZSAyIHJhbmdlcwogICAgICAgIGludCByYW5nZUwgPSBsMiwgcmFuZ2VSOwogICAgICAgIC8vIGNoZWNrIHRoZSBlbmQgb2YgdGhlIHJhbmdlLCBpdCBjYW4gYmUgcjEgb3IgcjIgKHRoZSBsZWFzdCBiZXR3ZWVuIHRoZW0pCiAgICAgICAgaWYgKHIxIDwgcjIpCiAgICAgICAgewogICAgICAgICAgICByYW5nZVIgPSByMTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgcmFuZ2VSID0gcjI7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgcmFuZ2VMIDw8ICIgIiA8PCByYW5nZVI7CiAgICB9Cn0K