Solve the programming task below in a Python markdown code block.
Nukes has an integer that can be represented as the bitwise OR of one or more integers between A and B (inclusive). How many possible candidates of the value of Nukes's integer there are?

Constraints

* 1 ≤ A ≤ B < 2^{60}
* A and B are integers.

Input

The input is given from Standard Input in the following format:


A
B


Output

Print the number of possible candidates of the value of Nukes's integer.

Examples

Input

7
9


Output

4


Input

65
98


Output

63


Input

271828182845904523
314159265358979323


Output

68833183630578410