A, B = gets.split.map(&:to_i)

k = [A == 0 ? 0 : Math.log2(A).to_i, B == 0 ? 0 : Math.log2(B).to_i].max + 1
ans = 0
plus = 1
waru = 2
a = A - 1
k.times do |i|
  a_one = a / waru * plus + [(a % waru) - plus + 1, 0].max
  b_one = B / waru * plus + [(B % waru) - plus + 1, 0].max
  one = b_one - a_one
  if one.odd?
    ans += plus
  end
  # p [i, plus, waru, a_one, b_one, one]
  plus *= 2
  waru *= 2
end

puts ans
