#include using namespace std; // Short forms #define int long long #define ll long long #define endl '\n' #define ff first #define ss second #define pb push_back #define all(x) x.begin(), x.end() #define sz(x) (int)(x).size() // Outputs #define yes cout<<"YES"< void _print(pair p); template void _print(vector v);template void _print(set v); template void _print(map v);template void _print(multiset v); template void _print(pair p) {cerr << "{"; _print(p.first); cerr << ","; _print(p.second); cerr << "}";} template void _print(vector v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template void _print(set v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template void _print(multiset v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template void _print(map v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";} ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void solve() { int n; cin >> n; int suf_even=0, suf_odd=0, pre_even=0, pre_odd=0; vectorv(n+1); for(int i=1;i<=n;i++) { cin>>v[i]; if(i&1) suf_odd+=v[i]; else suf_even+=v[i]; } int ct=0; dbg(suf_even); dbg(suf_odd); for(int i=1; i<=n; ++i) { if(i&1) suf_odd-=v[i]; else suf_even-=v[i]; if(suf_even+pre_odd==suf_odd+pre_even) { ct++; } if(i&1) pre_odd+=v[i]; else pre_even+=v[i]; } cout<> TC; while (TC--) solve(); }