3013.Bits

Time Limit: 1s Memory Limit: 256MB

Let's denote as 3013_1.png the number of bits set ('1' bits) in the binary representation of the non-negative integer x.

You are given multiple queries consisting of pairs of integers l and r. For each query, find the x, such that l \le x \le r, and 3013_1.png is maximum possible. If there are multiple such numbers find the smallest of them.

Input Format(From the terminal/stdin)

The first line contains integer n- the number of queries (1 \le n \le 10000).

Each of the following n lines contain two integers li,ri- the arguments for the corresponding query (0 \le li \le ri \le 1018).

Output Format(To the terminal/stdout)

For each query print the answer in a separate line.

Sample Input

Copy
3
1 2
2 4
1 10
 \n
 · \n
 · \n
 ·  \n

Sample Output

Copy
1
3
7
 \n
 \n
 \n

Hints

The binary representations of numbers from 1 to 10 are listed below:

110=12

210=102

310=112

410=1002

510=1012

610=1102

710=1112

810=10002

910=10012

1010=10102

Submit

请先 登录

© 2025 FAQs