#include <bits/stdc++.h>
using namespace std;
int main() {
int n,k;
cin>>n>>k;
vector<int> numbers(n);
for(auto& number: numbers){
cin>>number;
}
int answer = 0;
unordered_map<int,int> xorSum;
int current = 0;
xorSum[0] = 1;
for(int i=0; i<n; i++){
current ^= numbers[i];
if(xorSum.find(current^k) != xorSum.end()){
answer += xorSum[current^k];
}
xorSum[current]++;
}
cout<<answer;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCQoJaW50IG4sazsKCWNpbj4+bj4+azsKCQoJdmVjdG9yPGludD4gbnVtYmVycyhuKTsKCQoJZm9yKGF1dG8mIG51bWJlcjogbnVtYmVycyl7CgkJY2luPj5udW1iZXI7Cgl9CgkKCWludCBhbnN3ZXIgPSAwOwoJCgl1bm9yZGVyZWRfbWFwPGludCxpbnQ+IHhvclN1bTsKCQoJaW50IGN1cnJlbnQgPSAwOwoJCgl4b3JTdW1bMF0gPSAxOwoJCglmb3IoaW50IGk9MDsgaTxuOyBpKyspewoJCWN1cnJlbnQgXj0gbnVtYmVyc1tpXTsKCQkKCQlpZih4b3JTdW0uZmluZChjdXJyZW50XmspICE9IHhvclN1bS5lbmQoKSl7CgkJCWFuc3dlciArPSB4b3JTdW1bY3VycmVudF5rXTsKCQl9CgkJCgkJeG9yU3VtW2N1cnJlbnRdKys7Cgl9CgkKCWNvdXQ8PGFuc3dlcjsKCQoJcmV0dXJuIDA7Cn0=