#include <bits/stdc++.h>
using namespace std;
#define int long long int
#define double long double
#define print(a) for(auto x : a) cout << x << " "; cout << endl
//_ ***************************** START Below *******************************
const int MOD = 1000000007;
const int N = 3e5+9;
const int INF = 2e9+1;
const int LINF = 2000000000000000001;
const int MAX_VAL = 5000;
int countArrays(vector<int> a) {
int n = a.size();
if (n == 0) return 0;
auto getDigitSum = [](int x) {
int sum = 0;
x = abs(x); // Safe guard just in case
while (x > 0) {
sum += x % 10;
x /= 10;
}
return sum;
};
vector<int> digitSum(MAX_VAL + 1);
for (int i = 1; i <= MAX_VAL; ++i) {
digitSum[i] = getDigitSum(i);
}
vector<int> dp(MAX_VAL + 1, 0);
for (int i = 1; i <= MAX_VAL; ++i) {
if (digitSum[i] == a[0]) {
dp[i] = 1;
}
}
for (int i = 1; i < n; ++i) {
vector<int> pref(MAX_VAL + 1, 0);
pref[1] = dp[1];
for (int j = 2; j <= MAX_VAL; ++j) {
pref[j] = (pref[j - 1] + dp[j]) % MOD;
}
for (int j = 1; j <= MAX_VAL; ++j) {
if (digitSum[j] == a[i]) {
dp[j] = pref[j];
} else {
dp[j] = 0;
}
}
}
int ways = 0;
for (int i = 1; i <= MAX_VAL; ++i) {
ways = (ways + dp[i]) % MOD;
}
return ways;
}
// int countArrays(vector<int> a) {
// int n = a.size();
// if (n == 0) return 0;
// auto getDigitSum = [](int x) {
// int sum = 0;
// while (x > 0) {
// sum += x % 10;
// x /= 10;
// }
// return sum;
// };
// vector<int> digitSum(MAX_VAL + 1);
// for (int i = 0; i <= MAX_VAL; ++i) {
// digitSum[i] = getDigitSum(i);
// }
// vector<int> dp(MAX_VAL + 1, 0);
// for (int i = 0; i <= MAX_VAL; ++i) {
// if (digitSum[i] == a[0]) {
// dp[i] = 1;
// }
// }
// for (int i = 1; i < n; ++i) {
// vector<int> pref(MAX_VAL + 1, 0);
// pref[0] = dp[0];
// for (int j = 1; j <= MAX_VAL; ++j) {
// pref[j] = (pref[j - 1] + dp[j]) % MOD;
// }
// for (int j = 0; j <= MAX_VAL; ++j) {
// if (digitSum[j] == a[i]) {
// dp[j] = pref[j];
// } else {
// dp[j] = 0;
// }
// }
// }
// int ways = 0;
// for (int i = 0; i <= MAX_VAL; ++i) {
// ways = (ways + dp[i]) % MOD;
// }
// return ways;
// }
void solve() {
int n;
cin >> n;
vector<int> a(n);
for(int i=0; i<n; i++) cin >> a[i];
cout << countArrays(a) << endl;
}
int32_t main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int t = 1;
cin >> t;
while (t--) {
solve();
}
return 0;
}