#include<iostream>
#include<math.h>
using namespace std;
long gcd(long a, long b){
//cout<<a<<" "<<b<<"\t";
if(b==0){
return a;
}
else{
return gcd(b, a%b);
}
}
int main(){
int test;
cin>>test;
while(test--){
int n;
cin>>n;
long a[n];
long gcdC = 0;
for(long i=0;i<n;i++){
cin>>a[i];
}
long pow_set_size = pow(2, n);
long counter, j;
long subset[n];
/*Run from counter 000..0 to 111..1*/
long count = 0;
for(counter = 0; counter < pow_set_size; counter++)
{
long size = 0;
for(j = 0; j < n; j++)
{
/* Check if jth bit in the counter is set
If set then pront jth element from set */
if(counter & (1<<j))
subset[size++] = a[j];
}
if(size >= 2){
/*
cout<<"Set is : ";
for(long i=0;i<size;i++){
cout<<subset[i];
}
cout<<"\n";
*/
long gcdC = gcd(subset[0],subset[1]);
for(long i = 2;i<size;i++){
gcdC = gcd(gcdC, subset[i]);
}
//cout<<"GCD is :"<<gcdC<<endl;
if(gcdC == 1){
count++;
}
}
}
cout<<count<<endl;
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPG1hdGguaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpsb25nIGdjZChsb25nIGEsIGxvbmcgYil7CiAgICAvL2NvdXQ8PGE8PCIgIjw8Yjw8Ilx0IjsKICAgIGlmKGI9PTApewogICAgICAgIHJldHVybiBhOwogICAgfQogICAgZWxzZXsKICAgICAgICByZXR1cm4gZ2NkKGIsIGElYik7CiAgICB9Cn0KCgoKaW50IG1haW4oKXsKCmludCB0ZXN0OwpjaW4+PnRlc3Q7CndoaWxlKHRlc3QtLSl7CiAgICBpbnQgbjsKICAgIGNpbj4+bjsKCiAgICBsb25nIGFbbl07CiAgICBsb25nIGdjZEMgPSAwOwogICAgZm9yKGxvbmcgaT0wO2k8bjtpKyspewoKICAgICAgICBjaW4+PmFbaV07CgogICAgfQogICAgbG9uZyBwb3dfc2V0X3NpemUgPSBwb3coMiwgbik7CgogICAgbG9uZyBjb3VudGVyLCBqOwoKICAgIGxvbmcgc3Vic2V0W25dOwogICAgLypSdW4gZnJvbSBjb3VudGVyIDAwMC4uMCB0byAxMTEuLjEqLwoKICAgIGxvbmcgY291bnQgPSAwOwogICAgZm9yKGNvdW50ZXIgPSAwOyBjb3VudGVyIDwgcG93X3NldF9zaXplOyBjb3VudGVyKyspCiAgICB7CiAgICAgIGxvbmcgc2l6ZSA9IDA7CiAgICAgIGZvcihqID0gMDsgaiA8IG47IGorKykKICAgICAgIHsKICAgICAgICAgIC8qIENoZWNrIGlmIGp0aCBiaXQgaW4gdGhlIGNvdW50ZXIgaXMgc2V0CiAgICAgICAgICAgICBJZiBzZXQgdGhlbiBwcm9udCBqdGggZWxlbWVudCBmcm9tIHNldCAqLwogICAgICAgICAgaWYoY291bnRlciAmICgxPDxqKSkKICAgICAgICAgICAgc3Vic2V0W3NpemUrK10gPSBhW2pdOwogICAgICAgfQogICAgICAgaWYoc2l6ZSA+PSAyKXsKICAgICAgICAgICAvKgogICAgICAgICAgIGNvdXQ8PCJTZXQgaXMgOiAiOwogICAgICAgICAgIGZvcihsb25nIGk9MDtpPHNpemU7aSsrKXsKICAgICAgICAgICAgY291dDw8c3Vic2V0W2ldOwogICAgICAgICAgIH0KICAgICAgICAgICBjb3V0PDwiXG4iOwogICAgICAgICAgICovCiAgICAgICAgICAgIGxvbmcgZ2NkQyA9IGdjZChzdWJzZXRbMF0sc3Vic2V0WzFdKTsKICAgICAgICAgICAgZm9yKGxvbmcgaSA9IDI7aTxzaXplO2krKyl7CiAgICAgICAgICAgICAgICBnY2RDID0gZ2NkKGdjZEMsIHN1YnNldFtpXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy9jb3V0PDwiR0NEIGlzIDoiPDxnY2RDPDxlbmRsOwogICAgICAgICAgICBpZihnY2RDID09IDEpewogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgfQogICAgICAgfQogICAgfQoKICAgICAgIGNvdXQ8PGNvdW50PDxlbmRsOwoKCgoKCn0KcmV0dXJuIDA7Cn0K