#include <iostream>
#include<vector>
#include<unordered_map>
using namespace std;
int main() {
vector<int> nums={4,2,2,6,4};
int k=6;
int count=0;
unordered_map<int,int> m;
int XorSum=0;
m[0]=1;
for(int i=0;i<nums.size();i++) {
XorSum^=nums[i];
if(m.find(XorSum^k)!=m.end()) {
count+=m[XorSum^k];
}
m[XorSum]++;
}
cout<<count<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPHVub3JkZXJlZF9tYXA+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXZlY3RvcjxpbnQ+IG51bXM9ezQsMiwyLDYsNH07CglpbnQgaz02OwoJaW50IGNvdW50PTA7CgkKCXVub3JkZXJlZF9tYXA8aW50LGludD4gbTsKCWludCBYb3JTdW09MDsKCW1bMF09MTsKCQoJZm9yKGludCBpPTA7aTxudW1zLnNpemUoKTtpKyspIHsKCQlYb3JTdW1ePW51bXNbaV07CgkJCgkJaWYobS5maW5kKFhvclN1bV5rKSE9bS5lbmQoKSkgewoJCQljb3VudCs9bVtYb3JTdW1ea107CgkJfQoJCW1bWG9yU3VtXSsrOwoJfQoJCgljb3V0PDxjb3VudDw8ZW5kbDsKCQoJcmV0dXJuIDA7Cn0=