#include <bits/stdc++.h>
using namespace std;
int main() {
  long long l, r;
  long long b = 0, a = 0;
  cin >> l >> r;
  for (int p = 60; p >= 0; --p) {
    long long v = 1LL << p;
    if ((b | v) > r) {
      if ((a | v) <= r) a |= v;
    } else {
      if (a < l && (l & v)) {
        a |= v;
        if (b < a) b |= v;
      } else {
        b |= v;
      }
    }
  }
  cout << (a ^ b) << endl;
  return 0;
}
