#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
const int nn = 15, mod = 1e9 + 7;
int n, A[nn];
void Try() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> A[i];
}
int ans = 1;
vector<vector<int>> SS;
SS.push_back({});
for (int i = 1; i <= n; i++) {
vector<vector<int>> TSS;
for (int j = 0; j < SS.size(); j++) {
SS[j].push_back(A[i]);
TSS.push_back(SS[j]);
SS[j].pop_back();
}
for (auto v : TSS) {
SS.push_back(v);
}
}
vector<int>V(n + 1, 0);
for (auto v : SS) {
if (v.size()) {
int g = 0;
for (auto x : v) {
g = gcd(x, g);
}
V[v.size()] += g;
}
}
for (int i = 1; i <= n; i++) {
ans = 1LL * ans * V[i] % mod;
}
cout << ans << endl;
}
int32_t main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int t = 1;
cin >> t;
for (int i = 1; i <= t; i++) {
Try();
}
}