Девочка очень любит задачи про битовые операции. Вот одна из них.
Вам дано два целых числа l и r. Рассмотрим значения величины
для всех пар целых чисел a и b (l ≤ a ≤ b ≤ r). Ваша задача — найти максимальное значение, среди всех рассматриваемых.
Выражение
обозначает применение операции побитового исключающего или к числам x и y. Данная операция есть во всех современных языках программирования, например, в языке C++ и Java она обозначается «^», в Pascal — «xor».
Выходные данные
В единственной строке выведите целое число — максимальное значение
для всех пар чисел a, b (l ≤ a ≤ b ≤ r).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
1 2
|
3
|
|
2
|
8 16
|
31
|
|
3
|
1 1
|
0
|