#include<bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
#define siz(x) (int)(x.size())
#define all(x) x.begin(), x.end()
#define debug_arr(x,len) for(int _=1; _<=len; _++) cout<<x[_]<<" "; cout<<'\n';
#define debug(x) cout<<'\n'<<#x<<": "<<x<<'\n';
int lg2(const int &x){return 31 - __builtin_clz(x);}
const int maxN = 2e5+5;
int n, a[maxN];
void solve()
{
}
int32_t main()
{
ios_base::sync_with_stdio(0); cin.tie(0);
int test=1;
cin>>test;
while(test--)
{
cin>>n;
for(int i=1; i<=n; i+=1) cin>>a[i];
int dem = 0, need = lg2(n);
for(int i=1; i<=n; i+=1)
{
while(a[i] % 2 == 0)
{
dem++;
a[i] /= 2;
}
}
vector<int>v;
for(int i=1; i<=n; i+=1)
{
int tmp = 0, x = i;
if(x % 2 == 0)
{
while(x % 2 == 0)
{
tmp++;
x /= 2;
}
v.push_back(tmp);
}
}
sort(all(v), greater<int>());
int ans = 0;
for(int i=0; i<siz(v); i+=1)
{
ans++;
dem += v[i];
if(dem >= need) break;
}
if(dem < need) cout<<-1<<'\n';
else cout<<ans<<'\n';
solve();
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBzaXooeCkgKGludCkoeC5zaXplKCkpCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSwgeC5lbmQoKQojZGVmaW5lIGRlYnVnX2Fycih4LGxlbikgZm9yKGludCBfPTE7IF88PWxlbjsgXysrKSBjb3V0PDx4W19dPDwiICI7IGNvdXQ8PCdcbic7CiNkZWZpbmUgZGVidWcoeCkgY291dDw8J1xuJzw8I3g8PCI6ICI8PHg8PCdcbic7CmludCBsZzIoY29uc3QgaW50ICZ4KXtyZXR1cm4gMzEgLSBfX2J1aWx0aW5fY2x6KHgpO30KY29uc3QgaW50IG1heE4gPSAyZTUrNTsKCmludCBuLCBhW21heE5dOwp2b2lkIHNvbHZlKCkKewogICAgCn0KCmludDMyX3QgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7CiAgICBpbnQgdGVzdD0xOwogICAgY2luPj50ZXN0OwogICAgd2hpbGUodGVzdC0tKQogICAgewogICAgICAgIGNpbj4+bjsKICAgICAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSs9MSkgY2luPj5hW2ldOwogICAgICAgIGludCBkZW0gPSAwLCBuZWVkID0gbGcyKG4pOwogICAgICAgIGZvcihpbnQgaT0xOyBpPD1uOyBpKz0xKQogICAgICAgIHsKICAgICAgICAgICAgd2hpbGUoYVtpXSAlIDIgPT0gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZGVtKys7CiAgICAgICAgICAgICAgICBhW2ldIC89IDI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmVjdG9yPGludD52OwogICAgICAgIGZvcihpbnQgaT0xOyBpPD1uOyBpKz0xKQogICAgICAgIHsKICAgICAgICAgICAgaW50IHRtcCA9IDAsIHggPSBpOwogICAgICAgICAgICBpZih4ICUgMiA9PSAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB3aGlsZSh4ICUgMiA9PSAwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHRtcCsrOwogICAgICAgICAgICAgICAgICAgIHggLz0gMjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHYucHVzaF9iYWNrKHRtcCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgc29ydChhbGwodiksIGdyZWF0ZXI8aW50PigpKTsKICAgICAgICBpbnQgYW5zID0gMDsKICAgICAgICBmb3IoaW50IGk9MDsgaTxzaXoodik7IGkrPTEpCiAgICAgICAgewogICAgICAgICAgICBhbnMrKzsKICAgICAgICAgICAgZGVtICs9IHZbaV07CiAgICAgICAgICAgIGlmKGRlbSA+PSBuZWVkKSBicmVhazsKICAgICAgICB9CiAgICAgICAgaWYoZGVtIDwgbmVlZCkgY291dDw8LTE8PCdcbic7CiAgICAgICAgZWxzZSBjb3V0PDxhbnM8PCdcbic7CiAgICAgICAgc29sdmUoKTsKICAgIH0KfQ==