/*
* Copyright (c) 2024 Emon Thakur
* All rights reserved.
*/
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
ll mod = 1e9+7;
// #define fr freopen("input0.txt","r",stdin)
// ofstream file("output0.txt");
void solve()
{
int n; cin>>n;
ll a[n];
for(int i=0;i<n;i++) cin>>a[i];
ll lim = (1ll<<n)-1;
ll gi[n+1]={0};
for(int bit=1;bit<=lim;bit++)
{
ll gcd = 0;
for(int i=0;i<n;i++)
{
if(bit & (1<<i)) gcd = __gcd(gcd,a[i]);
}
gi[__popcount(bit)] += gcd;
}
ll ans = 1;
for(int i=1;i<=n;i++) ans *= gi[i], ans %= mod;
ans %= mod;
cout << ans << endl;
}
int main()
{
//fr;
int t; cin>>t; while(t--) solve();
}