#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <cstdlib>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
using namespace std;
/*
* Complete the function below.
*/
int maxXor(int l, int r) {
int max, current= 0;
for (int i=l; i <= r; ++i)
{
for (int j = i; j <= r; ++j)
{
current = i xor j;
if (current > max) max = current;
}
}
return max;
}
int main() {
int res;
int _l;
cin >> _l;
int _r;
cin >> _r;
res = maxXor(_l, _r);
cout << res;
return 0;
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPGN0aW1lPgojaW5jbHVkZSA8ZGVxdWU+CiNpbmNsdWRlIDxxdWV1ZT4KI2luY2x1ZGUgPHN0YWNrPgojaW5jbHVkZSA8Yml0c2V0PgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8bGltaXRzPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPG51bWVyaWM+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8qCiAqIENvbXBsZXRlIHRoZSBmdW5jdGlvbiBiZWxvdy4KICovCmludCBtYXhYb3IoaW50IGwsIGludCByKSB7CiAgICBpbnQgbWF4LCBjdXJyZW50PSAwOwpmb3IgKGludCBpPWw7IGkgPD0gcjsgKytpKQogICAgewogICAgZm9yIChpbnQgaiA9IGk7IGogPD0gcjsgKytqKQogICAgICAgIHsKICAgICAgICBjdXJyZW50ID0gaSB4b3IgajsKICAgICAgICBpZiAoY3VycmVudCA+IG1heCkgbWF4ID0gY3VycmVudDsKICAgIH0KfQpyZXR1cm4gbWF4Owp9CgppbnQgbWFpbigpIHsKICAgIGludCByZXM7CiAgICBpbnQgX2w7CiAgICBjaW4gPj4gX2w7CiAgICAKICAgIGludCBfcjsKICAgIGNpbiA+PiBfcjsKICAgIAogICAgcmVzID0gbWF4WG9yKF9sLCBfcik7CiAgICBjb3V0IDw8IHJlczsKICAgIAogICAgcmV0dXJuIDA7Cn0=