『MdOI R5』Jump

题目描述

数轴上有一个人,设他所在的位置为 $x$,初始时 $x=0$。第 $i$ 秒中他可以选择往左或往右跳 $2^{i-1}$ 单位长度,即将 $x$ 增大或减小 $2^{i-1}$。问他至少需要多少秒才能到达 $n$,即在某一秒结束的时刻使得 $x=n$。如果永远都不可能到达 $n$,那么输出 $-1$。 **本题每个测试点中有多组数据。**

输入输出格式

输入格式


第一行,一个整数,表示数据组数 $T$。 接下来 $T$ 行,每行一个整数,表示一组测试数据中的 $n$。

输出格式


共 $T$ 行,每行一个数,依次表示每组数据的答案。

输入输出样例

输入样例 #1

10
1
2
7
8
9
10
11
935
101
2023

输出样例 #1

1
-1
3
-1
4
-1
4
10
7
11

说明

对于 $100\%$ 的数据,$1\le T\le 10^3$,$1\le n\le 10^9$。 $\operatorname{Subtask} 1(30\%)$:$n\le 100$。 $\operatorname{Subtask} 2(40\%)$:$n=2^k$,其中 $k$ 是一个非负整数。 $\operatorname{Subtask} 3(30\%)$:无特殊限制。 #### 样例说明 1 $n=1$ 时只需要在第一秒中往右跳即可。 $n=2$ 时可以证明永远都不可能到达 $n$。