#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
long long solve(long long l, long long r, long long x) {
  long long res = 0;
  for (int i = 1; i <= 62; i++) {
    long long p = (1LL << i) - 1;
    long long val = (x ^ p);
    if (l <= p && p <= r) {
      res = max(res, val);
    }
    if (l <= val && val <= r) {
      res = max(res, p);
    }
  }
  return res;
}
int main() {
  long long l, r;
  cin >> l >> r;
  long long a = solve(l, r, l);
  long long b = solve(l, r, r);
  cout << max(a, b);
}
