#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll solve() {
int n;
cin >> n;
bool zero=false;
bool zero_sum=false;
vector<ll> v(n);
vector<ll> sum(n,-1);
for (int i = 0; i < n; i++) {
cin >> v[i];
if (v[i]==0)
zero=true;
}
sum[0]=v[0];
if(sum[0]==0)
zero_sum=true;
for (int i = 0; i < n-1; i++) {
sum[i+1]=sum[i]+v[i+1];
if(sum[i+1]==0){
zero_sum=true;
}
}
unordered_map<ll,ll> counter_v,counter_sum;
for (ll x : v) {
counter_v[x]++;
}
for (ll x : sum) {
counter_sum[x]++;
}
ll common_count = 0;
for (auto it : counter_v) {
if (counter_sum.count(it.first)) {
common_count += min(it.second, counter_sum[it.first]);
}
}
if (!zero && !zero_sum &&(v.size()==1)){
return 0;
}
if ( counter_v[0] == 1 && !counter_sum.count(0)) {
return common_count=1+common_count; // زيادة common_count بمقدار واحد
}
else{
return common_count;
}
}
int main() {
int t;
cin >> t;
while (t--) {
cout<<solve()<<endl;
}
return 0;
}
CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIGxsIGxvbmcgbG9uZwp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbGwgc29sdmUoKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgYm9vbCB6ZXJvPWZhbHNlOwogICAgYm9vbCB6ZXJvX3N1bT1mYWxzZTsKICAgIHZlY3RvcjxsbD4gdihuKTsKICAgIHZlY3RvcjxsbD4gc3VtKG4sLTEpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gdltpXTsKICAgICAgICBpZiAodltpXT09MCkKICAgICAgICAgIHplcm89dHJ1ZTsKICAgIH0KCiAgICBzdW1bMF09dlswXTsKICAgICAgIGlmKHN1bVswXT09MCkgCiAgICAgICAgIHplcm9fc3VtPXRydWU7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG4tMTsgaSsrKSB7CiAgICAgICAgIHN1bVtpKzFdPXN1bVtpXSt2W2krMV07CiAgICAgICAgIGlmKHN1bVtpKzFdPT0wKXsKICAgICAgICAgICAgemVyb19zdW09dHJ1ZTsKICAgICAgICAgfQogICAgfQogICAKCiB1bm9yZGVyZWRfbWFwPGxsLGxsPiBjb3VudGVyX3YsY291bnRlcl9zdW07CiAgICBmb3IgKGxsIHggOiB2KSB7CiAgICAgICAgY291bnRlcl92W3hdKys7CiAgICB9CiAgICBmb3IgKGxsIHggOiBzdW0pIHsKICAgICAgICBjb3VudGVyX3N1bVt4XSsrOwogICAgfQoKICAgIGxsIGNvbW1vbl9jb3VudCA9IDA7CiAgICBmb3IgKGF1dG8gaXQgOiBjb3VudGVyX3YpIHsKICAgICAgICBpZiAoY291bnRlcl9zdW0uY291bnQoaXQuZmlyc3QpKSB7CiAgICAgICAgICAgIGNvbW1vbl9jb3VudCArPSBtaW4oaXQuc2Vjb25kLCBjb3VudGVyX3N1bVtpdC5maXJzdF0pOwogICAgICAgIH0KICAgIH0KICAKCiAgaWYgKCF6ZXJvICYmICF6ZXJvX3N1bSAmJih2LnNpemUoKT09MSkpewogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgaWYgKCBjb3VudGVyX3ZbMF0gPT0gMSAmJiAhY291bnRlcl9zdW0uY291bnQoMCkpIHsKICAgICAgICAgcmV0dXJuICBjb21tb25fY291bnQ9MStjb21tb25fY291bnQ7IC8vINiy2YrYp9iv2KkgY29tbW9uX2NvdW50INio2YXZgtiv2KfYsSDZiNin2K3YrwogICAgfQoKICAgIGVsc2V7CiAgICAgICAgcmV0dXJuIGNvbW1vbl9jb3VudDsKICAgIH0KfQoKCmludCBtYWluKCkgewogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBjb3V0PDxzb2x2ZSgpPDxlbmRsOwogICAgfQogICAgcmV0dXJuIDA7Cn0=
NwoxCjAKMQoxCjQKMSAxIDIgMAo1CjAgMSAyIDEgNAo3CjEgMSAwIDMgNSAyIDEyCjcKMTAwMDAwMDAwMCAxMDAwMDAwMDAwIDEwMDAwMDAwMDAgMTAwMDAwMDAwMCAxMDAwMDAwMDAwIDEwMDAwMDAwMDAgMjk0OTY3Mjk2CjEwCjAgMTAwMDAwMDAwMCAxMDAwMDAwMDAwIDEwMDAwMDAwMDAgMTAwMDAwMDAwMCAxMDAwMDAwMDAwIDEwMDAwMDAwMDAgMTAwMDAwMDAwMCAxMDAwMDAwMDAwIDU4OTkzNDU5Mgo=
7
1
0
1
1
4
1 1 2 0
5
0 1 2 1 4
7
1 1 0 3 5 2 12
7
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 294967296
10
0 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 589934592