#include <bits/stdc++.h> // #include <atcoder/modint> #define rng(a) a.begin(),a.end() #define rrng(a) a.rbegin(),a.rend() #define INF 2000000000000000000 #define ll long long #define ld long double #define pll pair<ll, ll> using namespace std; template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; } template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); ll T; cin >> T; ll mod = pow(10, 9) + 7; for (ll testcase = 0; testcase < T; ++testcase) { ll N; cin >> N; vector<ll> A(N); for (ll i = 0; i < N; ++i) { cin >> A.at(i); } ll now = A.at(0); for (ll i = 1; i < N; ++i) { now = now * A.at(i) + now + A.at(i); now %= mod; } cout << now << "\n"; } }