#include <iostream>
#include <bitset>
using namespace std;
typedef bitset< sizeof ( unsigned ) * 8 > bitset_uint;
int main( ) {
unsigned l, r;
cin >> l >> r;
const unsigned x = sizeof ( unsigned ) * 8 - __builtin_clz( l ^ r ) - 1 ;
const unsigned result = ( l | 1 << x) & ~0 << x;
const unsigned a = ( l == r) ? l : result - 1 ;
const unsigned b = ( l == r) ? r : result;
cout << "l\t " << bitset_uint( l) << ' ' << l << endl;
cout << "r\t " << bitset_uint( r) << ' ' << r << endl;
cout << "a\t " << bitset_uint( a) << ' ' << a << endl;
cout << "b\t " << bitset_uint( b) << ' ' << b << endl;
cout << "xor\t " << bitset_uint( a ^ b) << ' ' << ( a ^ b) << endl;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBiaXRzZXQ8c2l6ZW9mKHVuc2lnbmVkKSAqIDg+IGJpdHNldF91aW50OwoKaW50IG1haW4oKSB7Cgl1bnNpZ25lZCBsLCByOwoJY2luID4+IGwgPj4gcjsKCQoJY29uc3QgdW5zaWduZWQgeCA9IHNpemVvZih1bnNpZ25lZCkgKiA4IC0gX19idWlsdGluX2NseiggbCBeIHIgKSAtIDE7Cgljb25zdCB1bnNpZ25lZCByZXN1bHQgPSAobCB8IDEgPDwgeCkgJiB+MCA8PCB4OwoJY29uc3QgdW5zaWduZWQgYSA9IChsID09IHIpID8gbCA6IHJlc3VsdCAtIDE7Cgljb25zdCB1bnNpZ25lZCBiID0gKGwgPT0gcikgPyByIDogcmVzdWx0OwoKCWNvdXQgPDwgImxcdCAiICAgPDwgYml0c2V0X3VpbnQobCkgICAgIDw8ICcgJyA8PCBsICAgICAgIDw8IGVuZGw7Cgljb3V0IDw8ICJyXHQgIiAgIDw8IGJpdHNldF91aW50KHIpICAgICA8PCAnICcgPDwgciAgICAgICA8PCBlbmRsOwoJY291dCA8PCAiYVx0ICIgICA8PCBiaXRzZXRfdWludChhKSAgICAgPDwgJyAnIDw8IGEgICAgICAgPDwgZW5kbDsKCWNvdXQgPDwgImJcdCAiICAgPDwgYml0c2V0X3VpbnQoYikgICAgIDw8ICcgJyA8PCBiICAgICAgIDw8IGVuZGw7Cgljb3V0IDw8ICJ4b3JcdCAiIDw8IGJpdHNldF91aW50KGEgXiBiKSA8PCAnICcgPDwgKGEgXiBiKSA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=