#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define max(a, b) (a < b ? b : a)
#define min(a, b) ((a > b) ? b : a)
#define TEXT freopen("azerah.in","r",stdin); freopen("azerah.out","w",stdout);
#define mod 1000000007
#define pii pair<int,int>
#define F first
#define S second
#define testcase int TT; cin >> TT; for (int tc = 1; tc <= TT; tc++)
#define POL(i,n) for (int i = 0 ; i < n ; ++i)
#define pb push_back
#define all(x) x.begin(),x.end()
//#define endl "\n"
typedef pair<int,int>PL;
//const long long N=1e6+7;
//vector<bool>pre(N,0);
//vector<ll>hp(N,0);
//vector<ll>v;
//ll f=0;
//vector<ll>mak(N,0);
//
//void precomp()
//{
// pre[0]=pre[1]=false;
//
// for(ll i=2; i<N; i++)
// {
// if(pre[i]==false)
// {
// v.pb(i);
// f++;
// hp[i]=i;
// for(ll j=2*i; j<N; j+=i)
// {
// pre[j]=true;
// hp[j]=i;
// }
// }
// }
//
// ll sum=1,j=1,val=1;
// while(val<=N)
// {
// mak[val]=j;
// j++;
// sum*=2;
// val+=sum;
// }
//
//}
//ll binpow(ll a,ll b)
//{
// ll ans=1;
//
// while(b>0)
// {
// if(b&1)
// {
// ans=(ans*a);
// }
//
// a=(a*a);
// b>>=1;
// }
// return ans;
//}
void solve()
{
int n,xr=0,xm=0,c=0;
cin >> n;
int a[n+5];
for(int i=1;i<=n;i++)
{
cin >> a[i];
xr^=a[i];
}
for(int i=1;i<n;i++)
{
xr^=a[i];
xm^=a[i];
if(xr==xm)
{
c++;
}
}
cout << c << endl;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
//TEXT;
//precomp();
testcase
{
solve();
}
return 0;
}