Let's denote as 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 ≤ x ≤ r , and is maximum possible. If there are multiple such numbers find the smallest of them.
输入描述:
The first line contains integer n — the number of queries (1 ≤ n ≤ 10000).Each of the following n lines contain two integers li, ri — the arguments for the corresponding query (0 ≤ li ≤ ri ≤ 1018).


输出描述:
For each query print the answer in a separate line.
示例1

输入

3<br />1 2<br />2 4<br />1 10<br />

输出

1<br />3<br />7<br />

备注:
The binary representations of numbers from 1 to 10 are listed below:110 = 12210 = 102310 = 112410 = 1002510 = 1012610 = 1102710 = 1112810 = 10002910 = 100121010 = 10102
加载中...