#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;
}