For this Question: You are given an array A of even length N consisting of non-negative integers. You need to make each element of the array equal to zero, by doing some number of moves (possibly zero).

In a single move, you can choose two integers l and r such that 1 &le; l &le; r &le; N. Let x = A[l] &oplus; A[l+1] &oplus; A[l+2] ... A[r], where &oplus; represents xor operator. Then, replace the whole subarray with x. In other words, assign A[i] = x for l &le; i &le; r.

Print the minimum number of moves required to make the entire array zero.The first line of the input contains a single integer T – the number of test cases.
Then T test cases follow, each test case in the following format:
The first line contains a single integer N – the length of array A.
The next line contains N space-separated integers representing the elements of the array A.

<b>Constraints:</b>
1&le; T &le; 50
1 &le; N &le; 10<sup>3</sup>
0 &le; A[i] &le; 10<sup>9</sup>
N is even.Output T lines, the i<sup>th</sup> line containing a single integer – the answer to the i<sup>th</sup> test case.Sample Input:
2
2
2 2
4
7 1 2 0

Sample Output:
1
2, I have written this Solution Code: 

// #pragma GCC optimize("Ofast")
// #pragma GCC target("avx,avx2,fma")
#include<bits/stdc++.h>
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
#define pi 3.141592653589793238
#define int long long
#define ll long long
#define ld long double
using namespace __gnu_pbds;
using namespace std;
template <typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
mt19937 rnd(chrono::high_resolution_clock::now().time_since_epoch().count());


long long powm(long long a, long long b,long long mod) {
long long res = 1;
while (b > 0) {
    if (b & 1)
        res = res * a %mod;
    a = a * a %mod;
    b >>= 1;
}

return res;
}

ll gcd(ll a, ll b)
{
if (b == 0)
    return a;
return gcd(b, a % b);      
}





signed main()
{

ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(0);




#ifndef ONLINE_JUDGE
if(fopen("input.txt","r"))
{
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
}
#endif
    
    
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        int a[n];
        bool flag=true;
        int ans=0;
        for(int i=0;i<n;i++)
        {
            cin>>a[i];
            ans^=a[i];
            if(a[i])
                flag=false;
        }

        if(flag)
            cout<<0<<'\n';
        else if(ans==0)
            cout<<1<<'\n';
        else
            cout<<2<<'\n';

    }

}
, In this Programming Language: C++, Now tell me if this Code is compilable or not?