题目描述
对于给定的区间 l 到 r ,求解区间内二进制下 1 最多的那个数字。
你需要处理多组询问。
输入格式
每个测试文件均包含多组测试数据。
第一行输入一个整数 T(1≤T≤105) 代表数据组数,每组测试数据描述如下:
在一行上输入两个整数 l,r(0≤l≤r≤1018) 代表区间的左右端点。
输出格式
对于每一组测试数据,在一行上输出一个整数,代表区间内二进制下 1 最多的那个数字。
如有多个答案,输出最小的那个。
输入样例
3
1 2
2 4
1 10
输出样例
1
3
7
说明/提示
十进制 1 到 10 的二进制表示如下:
∙十进制 (1)10 等于二进制 (1)2 ;
∙十进制 (2)10 等于二进制 (10)2 ;
∙十进制 (3)10 等于二进制 (11)2 ;
∙十进制 (4)10 等于二进制 (100)2 ;
∙十进制 (5)10 等于二进制 (101)2 ;
∙十进制 (6)10 等于二进制 (110)2 ;
∙十进制 (7)10 等于二进制 (111)2 ;
∙十进制 (8)10 等于二进制 (1000)2 ;
∙十进制 (9)10 等于二进制 (1001)2 ;
∙十进制 (10)10 等于二进制 (1010)2 。