#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int Mod= 998244353;
const ll INF = 100000000;
const int N = 1e6+7;
const int MAXV = 5000;
void solve() {
int n;
cin >> n;
vector<int> a(n);
for(int i=0;i<n;i++) cin >> a[i];
int g = a[0];
for(int i=1;i<n;i++) g=__gcd(a[i],g);
int cnt = 0;
for(int i=0;i<n;i++){
if(a[i]==g) cnt++;
}
if(cnt>0){
cout << n-cnt << '\n';
return;
}
vector<int> dp(MAXV+1, INF), newdp(MAXV+1, INF);
for(int i = 0; i < n; i++) {
for(int d = 1; d <= MAXV; d++) newdp[d] = dp[d];
newdp[a[i]] = min(newdp[a[i]], 1);
for(int d = 1; d <= MAXV; d++) {
if (dp[d] == INF) continue;
int new_g = __gcd(d, a[i]);
int new_size = dp[d] + 1;
newdp[new_g]=min(newdp[new_g],new_size);
}
dp.swap(newdp);
}
int k = dp[g];
ll ans = (ll)(k - 1) + (ll)(n - 1);
cout << ans << "\n";
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBpbnQgTW9kPSA5OTgyNDQzNTM7CmNvbnN0IGxsIElORiA9IDEwMDAwMDAwMDsKY29uc3QgaW50IE4gPSAxZTYrNzsKY29uc3QgaW50IE1BWFYgPSA1MDAwOwoKICAgIHZvaWQgc29sdmUoKSB7CiAgICAgICAgaW50IG47CiAgICAgICAgY2luID4+IG47CiAgICAgICAgdmVjdG9yPGludD4gYShuKTsKICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKSBjaW4gPj4gYVtpXTsKICAgICAgICBpbnQgZyA9IGFbMF07CiAgICAgICAgZm9yKGludCBpPTE7aTxuO2krKykgZz1fX2djZChhW2ldLGcpOwogICAgICAgIGludCBjbnQgPSAwOwogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgICAgICBpZihhW2ldPT1nKSBjbnQrKzsKICAgICAgICB9CiAgICAgICAgaWYoY250PjApewogICAgICAgICAgICBjb3V0IDw8IG4tY250IDw8ICdcbic7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICB2ZWN0b3I8aW50PiBkcChNQVhWKzEsIElORiksIG5ld2RwKE1BWFYrMSwgSU5GKTsgICAgICAgIAogICAgICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgZm9yKGludCBkID0gMTsgZCA8PSBNQVhWOyBkKyspIG5ld2RwW2RdID0gZHBbZF07IAogICAgICAgICAgbmV3ZHBbYVtpXV0gPSBtaW4obmV3ZHBbYVtpXV0sIDEpOwogICAgICAgIGZvcihpbnQgZCA9IDE7IGQgPD0gTUFYVjsgZCsrKSB7CiAgICAgICAgICAgIGlmIChkcFtkXSA9PSBJTkYpIGNvbnRpbnVlOwogICAgICAgICAgICBpbnQgbmV3X2cgPSBfX2djZChkLCBhW2ldKTsKICAgICAgICAgICAgaW50IG5ld19zaXplID0gZHBbZF0gKyAxOwogICAgICAgICAgICBuZXdkcFtuZXdfZ109bWluKG5ld2RwW25ld19nXSxuZXdfc2l6ZSk7CiAgICAgICAgfQogICAgICAgIGRwLnN3YXAobmV3ZHApOwogICAgICAgIH0KICAgICAgICBpbnQgayA9IGRwW2ddOwogICAgICAgIGxsIGFucyA9IChsbCkoayAtIDEpICsgKGxsKShuIC0gMSk7CiAgICAgICAgY291dCA8PCBhbnMgPDwgIlxuIjsgCiAgICB9CmludCBtYWluKCl7IAogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKCQogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHNvbHZlKCk7CiAgICAKICAgIHJldHVybiAwOwp9