#00072E

Maximum XOR

A little girl loves problems on bitwise operations very much. Here's one of them.


You are given two integers l and r. Let's consider the values of a⊕b for all pairs of integers a and b (l ≤ a ≤ b ≤ r). Your task is to find the maximum value among all considered ones.


Expression x⊕y means applying bitwise excluding or operation to integers x and y. The given operation exists in all modern programming languages, for example, in languages C++ and Java it is represented as "^", in Pascal — as «xor».


InputThe single line contains space-separated integers l and r (1 ≤ l ≤ r ≤ 10^18).

OutputIn a single line print a single integer — the maximum value of a⊕b for all pairs of integers a, b (l ≤ a ≤ b ≤ r).

Input:
1 2
Output:
3

Input:
8 16
Output:
31

Input:
1 1
Output:
0

Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.