#include<bits/stdc++.h>
using namespace std;
const long long N = 2*1e5 + 5;
const long long MOD = 1e9 + 7;
long long v[N];
void solve(){
  long long n;
  cin>>n;
  for(long long i=1;i<=n;i++)
    cin>>v[i];
  map<long long, long long> dp;
  long long sumdp = 0;
  dp[0] = 1;
  sumdp = 1;
  long long offset = 0;
  for(long long i=1;i<=n;i++){
    // suma tuturor trebuie sa ajunga pe dp[offset]
    long long newsumdp = ((sumdp - dp[offset] + sumdp) % MOD + MOD) % MOD;
    dp[offset] = sumdp;
    sumdp = newsumdp;
    offset += v[i];
  }
  cout<<sumdp<<"\n";
}
int main()
{
  //freopen(".in","r",stdin);
  ios::sync_with_stdio(false);
  cin.tie(0),cout.tie(0);
  int nrt;
  cin>>nrt;
  for(int i=1;i<=nrt;i++){
    solve();
  }
  return 0;
}
