/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static int cntSubarrays(int[] arr, int k) {
// code here
Map
<Integer, Integer
> freq
= new HashMap
<>(); int count = 0;
int prefixXor = 0;
for (int num : arr) {
prefixXor ^= num;
if (prefixXor == k) {
count++;
}
int required = prefixXor ^ k;
if (freq.containsKey(required)) {
count += freq.get(required);
}
freq.put(prefixXor, freq.getOrDefault(prefixXor, 0) + 1);
}
return count;
}
public static void main
(String [] args
){ Scanner sc
=new Scanner
(System.
in); int n=sc.nextInt();
int [] arr=new int[n];
for(int i=0;i<n;i++){
arr[i]=sc.nextInt();
}
int k=sc.nextInt();
int cnt=cntSubarrays(arr,k);
System.
out.
println("Subarrays with given XOR "+k
+" is : "+cnt
); sc.close();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgaW50IGNudFN1YmFycmF5cyhpbnRbXSBhcnIsIGludCBrKSB7CiAgICAgICAgLy8gY29kZSBoZXJlCiAgICAgICAgTWFwPEludGVnZXIsIEludGVnZXI+IGZyZXEgPSBuZXcgSGFzaE1hcDw+KCk7CiAgICAgICAgaW50IGNvdW50ID0gMDsKICAgICAgICBpbnQgcHJlZml4WG9yID0gMDsKCiAgICAgICAgZm9yIChpbnQgbnVtIDogYXJyKSB7CiAgICAgICAgICAgIHByZWZpeFhvciBePSBudW07CiAgICAgICAgICAgIGlmIChwcmVmaXhYb3IgPT0gaykgewogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBpbnQgcmVxdWlyZWQgPSBwcmVmaXhYb3IgXiBrOwogICAgICAgICAgICBpZiAoZnJlcS5jb250YWluc0tleShyZXF1aXJlZCkpIHsKICAgICAgICAgICAgICAgIGNvdW50ICs9IGZyZXEuZ2V0KHJlcXVpcmVkKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnJlcS5wdXQocHJlZml4WG9yLCBmcmVxLmdldE9yRGVmYXVsdChwcmVmaXhYb3IsIDApICsgMSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gY291bnQ7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmcgW10gYXJncyl7CiAgICAgICAgU2Nhbm5lciBzYz1uZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIGludCBuPXNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgW10gYXJyPW5ldyBpbnRbbl07CiAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgICAgIGFycltpXT1zYy5uZXh0SW50KCk7CiAgICAgICAgfQogICAgICAgIGludCBrPXNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgY250PWNudFN1YmFycmF5cyhhcnIsayk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTdWJhcnJheXMgd2l0aCBnaXZlbiBYT1IgIitrKyIgaXMgOiAiK2NudCk7CiAgICAgICAgc2MuY2xvc2UoKTsKICAgIH0KfQ==