在一条直线上,小强初始在坐标0位置。每次他可以选择如下三种操作中的一种:
向左一个位置,即从位置x移动到位置x−1 向右一个位置,即从位置x移动到位置x+1 位置倍增,即从位置x移动到位置x∗2
现在有Q次询问q[i],对于每次询问,小强想知道他每次从位置0出发,到达位置q[i]最少需要多少次操作?
数据输入
第一行一个Q,表示询问次数。
第二行Q个整数q[i],表示每次询问的目标位置。
数据输出
对于每个询问,输出一行一个整数,表示到达的目标位置的最少操作次数。如果无法到达,输出−1。
样例输入1
4
0
-1
2
4
样例输出1
0
1
2
3
范围说明
对于20%的数据有:1≤Q≤10,0≤q[i]≤10。
对于50%的数据有:1≤Q≤1000,0≤q[i]≤1000。
对于100%的数据有:1≤Q≤105,−106≤q[i]≤106。