#include <iostream>
using namespace std;
bool get_bit(int n, int position) {
return (n >> position)&1;
}
void set_bit(int &n, int position, bool value) {
if (value)
n |= 1 << position;
else
n &= ~(1 << position);
}
int main() {
int l, r, a=0, b=0;
cin >> l >> r;
int k;
for (k = 30; k >= 0; k--) {
if (get_bit(l, k) == get_bit(r, k)) {
set_bit(a, k, get_bit(l, k));
} else break;
}
b = a;
set_bit(a, k, 1);
set_bit(b, k, 0);
for (k--; k >= 0; k--) {
set_bit(a, k, 0);
set_bit(b, k, 1);
}
if (a > b)
swap(a, b);
cout << a << ' ' << b << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBnZXRfYml0KGludCBuLCBpbnQgcG9zaXRpb24pIHsKCXJldHVybiAobiA+PiBwb3NpdGlvbikmMTsKfQoKdm9pZCBzZXRfYml0KGludCAmbiwgaW50IHBvc2l0aW9uLCBib29sIHZhbHVlKSB7CglpZiAodmFsdWUpCgkJbiB8PSAxIDw8IHBvc2l0aW9uOwoJZWxzZQoJCW4gJj0gfigxIDw8IHBvc2l0aW9uKTsKfQoKaW50IG1haW4oKSB7CglpbnQgbCwgciwgYT0wLCBiPTA7CgljaW4gPj4gbCA+PiByOwoJaW50IGs7Cglmb3IgKGsgPSAzMDsgayA+PSAwOyBrLS0pIHsKCQlpZiAoZ2V0X2JpdChsLCBrKSA9PSBnZXRfYml0KHIsIGspKSB7CgkJCXNldF9iaXQoYSwgaywgZ2V0X2JpdChsLCBrKSk7CgkJfSBlbHNlIGJyZWFrOwoJfQoJYiA9IGE7CglzZXRfYml0KGEsIGssIDEpOwoJc2V0X2JpdChiLCBrLCAwKTsKCWZvciAoay0tOyBrID49IDA7IGstLSkgewoJCXNldF9iaXQoYSwgaywgMCk7CgkJc2V0X2JpdChiLCBrLCAxKTsKCX0KCWlmIChhID4gYikKCQlzd2FwKGEsIGIpOwoJY291dCA8PCBhIDw8ICcgJyA8PCBiIDw8IGVuZGw7CglyZXR1cm4gMDsKfQ==