Little Girl and Maximum XOR
题意翻译
在区间[l,r]中找出两个数a,b(a <= b),使得a ^ b达到最大
题目描述
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 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF276D/e4d673f94fffa65030d2edd227a746e3a121dade.png) 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 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF276D/a0b0fe9e9428287337c0277ea02ca07fcf0a01a7.png) 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».
输入输出格式
输入格式
The single line contains space-separated integers $ l $ and $ r $ ( $ 1<=l<=r<=10^{18} $ ).
Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.
输出格式
In a single line print a single integer — the maximum value of ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF276D/e4d673f94fffa65030d2edd227a746e3a121dade.png) for all pairs of integers $ a $ , $ b $ $ (l<=a<=b<=r) $ .
输入输出样例
输入样例 #1
1 2
输出样例 #1
3
输入样例 #2
8 16
输出样例 #2
31
输入样例 #3
1 1
输出样例 #3
0