#3294. 递增序列

递增序列

说明

给定一个 aa 数组,长度为 nn ,同时可以对数组中的元素进行以下操作:

  • 选择任意位置元素 aia_i(1in)(1≤i≤n) ,将 aia_i整除 22
    我们希望最后的整数序列严格递增,即 a_1<a_2<a_3...<a_n
    请你输出满足此条件的序列所需最少的操作次数,或者输出 1-1 确定不可能获得这样的序列。

输入格式

输入的第一行包含一个整数 tt ,表示多组数据的测试用例数量,(注意多组数据的影响)
对于每组数据,先输入一个整数 nn,接下来第二行 nn 个整数 aia_i,表示第 ii 个整数的大小。

输出格式

输出 tt 行,每行一个整数表示对序列操作的最少次数,使得序列严格递增。无法获得这样的序列输出 "-1"。

样例

6
3
3 6 5
4
5 4 3 2
5
1 2 3 4 5
4
2 8 7 5
5
8 26 5 21 10
10
0 1 2 3 4 5 6 7 1024 1
2
-1
0
4
11
-1

提示

【数据范围】
对于100%100\% 的数据保证:1 ≤ t ≤ 10000,1 ≤ n ≤ 30,0 ≤ a_i ≤  2*10^9