#include <bits/stdc++.h>
using namespace std;
#define ll long long
int hibit(unsigned int n) {
n |= (n >> 1);
n |= (n >> 2);
n |= (n >> 4);
n |= (n >> 8);
n |= (n >> 16);
return n - (n >> 1);
}
ll numbers[40];
int main () {
ll t, n;
bool flag;
int cnt;
vector<int> ans;
cin >> t;
while(t--){
flag = false;
cnt = 0;
cin >> n;
for(int i = 1; i <= n; i++){
cin >> numbers[i];
}
for(int i = n - 1; i > 0; i--){
while(numbers[i] >= numbers[i+1]){
numbers[i] >>= 1;
cnt++;
}
if(numbers[i] <= 0 && i != 1) {
ans.push_back(-1);
flag = true;
break;
}
}
if(!flag)
ans.push_back(cnt);
}
for(size_t i = 0; i< ans.size(); i++){
cout << ans[i] << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCgoKCmludCBoaWJpdCh1bnNpZ25lZCBpbnQgbikgewogICAgbiB8PSAobiA+PiAgMSk7CiAgICBuIHw9IChuID4+ICAyKTsKICAgIG4gfD0gKG4gPj4gIDQpOwogICAgbiB8PSAobiA+PiAgOCk7CiAgICBuIHw9IChuID4+IDE2KTsKICAgIHJldHVybiBuIC0gKG4gPj4gMSk7Cn0KCmxsIG51bWJlcnNbNDBdOwoKaW50IG1haW4gKCkgewogIGxsIHQsIG47CiAgYm9vbCBmbGFnOwogIGludCBjbnQ7CiAgdmVjdG9yPGludD4gYW5zOwogIGNpbiA+PiB0OwogIHdoaWxlKHQtLSl7CiAgICBmbGFnID0gZmFsc2U7CiAgICBjbnQgPSAwOwogICAgY2luID4+IG47CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CiAgICAgIGNpbiA+PiBudW1iZXJzW2ldOwogICAgfQogICAgZm9yKGludCBpID0gbiAtIDE7IGkgPiAwOyBpLS0pewogICAgICB3aGlsZShudW1iZXJzW2ldID49IG51bWJlcnNbaSsxXSl7CiAgICAgICAgbnVtYmVyc1tpXSA+Pj0gMTsgCiAgICAgICAgY250Kys7CiAgICAgIH0KICAgICAgaWYobnVtYmVyc1tpXSA8PSAwICYmIGkgIT0gMSkgewogICAgICAgIGFucy5wdXNoX2JhY2soLTEpOwogICAgICAgIGZsYWcgPSB0cnVlOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CiAgICBpZighZmxhZykKICAgICAgYW5zLnB1c2hfYmFjayhjbnQpOwogIH0KICBmb3Ioc2l6ZV90IGkgPSAwOyBpPCBhbnMuc2l6ZSgpOyBpKyspewogICAgY291dCA8PCBhbnNbaV0gPDwgZW5kbDsKICB9CgogIHJldHVybiAwOwp9