a, b = gets.split.map(&:to_i)
b += 1

y = 1
loop do
    break if b < (y << 1)
    y <<= 1
end
ans = 0
loop do
    break if y <= 1
    mod_a = a % (y << 1) - y
    mod_b = b % (y << 1) - y
    if ([0, mod_b].max + [0, mod_a].max).odd?
        ans += y 
    end
    y >>= 1
end
puts ans + ((b / 2 - a / 2).odd? ? 1 : 0 )