Public Judge

pjudge

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100
Statistics

设 $\text{ctz}(x)$ 为 $x$ 二进制下末尾 $0$ 的个数,如 $\text{ctz}(1001000_2)=3$ 。

设 $\text{ppc}(x)$ 为 $x$ 二进制下 $1$ 的个数,如 $\text{ppc}(1001000_2)=2$ 。

定义一个数是好数,当且仅当 $\text{ctz}(x)=\text{ppc}(x)$ 。

给定 $Q$ ,有 $Q$ 次询问,每次给出区间 $[l,r]$ ,你需要求出 $[l,r]$ 中任意一个好数,或判断无解。

输入格式

第一行,一个正整数 $Q$ 。

接下来 $Q$ 行,每行两个正整数 $l,r$ 。

输出格式

每个询问输出一行,如果区间 $[l,r]$ 中存在好数,那么输出任意一个好数,否则输出 $-1$ 。

样例一

input

5
38 47
57 86
23 24
72 83
32 33

output

-1
68
-1
-1
-1

样例二、三

见下发文件。

数据范围与提示

本题采用子任务捆绑测试。

对于所有数据,保证 $1\le Q\le 10^5, 1\le l\le r\le 10^9$ 。

子任务编号 特殊性质 分值
$1$ $1\le l\le r\le 10^7$ $30$
$2$ $l,r$ 在 $[1,10^9]$ 中随机 $30$
$3$ $40$