#PX0029. Bits

Bits

题目描述

对于给定的区间 llrr ,求解区间内二进制下 1\texttt{1} 最多的那个数字。

你需要处理多组询问。

输入格式

每个测试文件均包含多组测试数据。

第一行输入一个整数 T(1T105)T\left(1\leq T\leq 10^5\right) 代表数据组数,每组测试数据描述如下:

在一行上输入两个整数 l,r(0lr1018)l, r \left(0\leq l\leq r\leq 10^{18}\right) 代表区间的左右端点。

输出格式

对于每一组测试数据,在一行上输出一个整数,代表区间内二进制下 1\texttt{1} 最多的那个数字。

如有多个答案,输出最小的那个。

输入样例

3
1 2
2 4
1 10

输出样例

1
3
7

说明/提示

十进制 111010 的二进制表示如下:

\bullet\,十进制 (1)10(1)_{10} 等于二进制 (1)2(1)_{2}

\bullet\,十进制 (2)10(2)_{10} 等于二进制 (10)2(10)_{2}

\bullet\,十进制 (3)10(3)_{10} 等于二进制 (11)2(11)_{2}

\bullet十进制 (4)10(4)_{10} 等于二进制 (100)2(100)_{2}

\bullet\,十进制 (5)10(5)_{10} 等于二进制 (101)2(101)_{2}

\bullet十进制 (6)10(6)_{10} 等于二进制 (110)2(110)_{2}

\bullet十进制 (7)10(7)_{10} 等于二进制 (111)2(111)_{2}

\bullet十进制 (8)10(8)_{10} 等于二进制 (1000)2(1000)_{2}

\bullet十进制 (9)10(9)_{10} 等于二进制 (1001)2(1001)_{2}

\bullet十进制 (10)10(10)_{10} 等于二进制 (1010)2(1010)_{2}