# your code goes here
# Python Program to count all subarrays having
# XOR of elements as given value K
def subarrayXor(x, k):
res = 0
# Pick starting point i of subarrays
prefix = [0] * len(x)
prefix[0] = x[0]
# 1. Compute prefix XOR array
for i in range(1, len(x)):
prefix[i] = prefix[i-1] ^ x[i]
count = 0
# 2. Check all index pairs (i, j)
for j in range(0, len(x)):
if prefix[j] == k:
count += 1
for i in range(0, j):
if prefix[i] == prefix[j] ^ k:
count += 1
return count
if __name__ == "__main__":
arr = [4, 2, 2, 6, 4]
k = 6
print(subarrayXor(arr, k))
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCgojIFB5dGhvbiBQcm9ncmFtIHRvIGNvdW50IGFsbCBzdWJhcnJheXMgaGF2aW5nCiMgWE9SIG9mIGVsZW1lbnRzIGFzIGdpdmVuIHZhbHVlIEsKCmRlZiBzdWJhcnJheVhvcih4LCBrKToKICAgIHJlcyA9IDAKCiAgICAjIFBpY2sgc3RhcnRpbmcgcG9pbnQgaSBvZiBzdWJhcnJheXMKCiAgICBwcmVmaXggPSBbMF0gKiBsZW4oeCkKICAgIHByZWZpeFswXSA9IHhbMF0KCiAgICAjIDEuIENvbXB1dGUgcHJlZml4IFhPUiBhcnJheQogICAgZm9yIGkgaW4gcmFuZ2UoMSwgbGVuKHgpKToKICAgICAgICBwcmVmaXhbaV0gPSBwcmVmaXhbaS0xXSBeIHhbaV0KCiAgICBjb3VudCA9IDAKICAgICMgMi4gQ2hlY2sgYWxsIGluZGV4IHBhaXJzIChpLCBqKQogICAgZm9yIGogaW4gcmFuZ2UoMCwgbGVuKHgpKToKICAgICAgICBpZiBwcmVmaXhbal0gPT0gazoKICAgICAgICAgICAgY291bnQgKz0gMQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGopOgogICAgICAgICAgICBpZiBwcmVmaXhbaV0gPT0gcHJlZml4W2pdIF4gazoKICAgICAgICAgICAgICAgIGNvdW50ICs9IDEKCgogICAgcmV0dXJuIGNvdW50CgppZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgYXJyID0gWzQsIDIsIDIsIDYsIDRdCiAgICBrID0gNgoKICAgIHByaW50KHN1YmFycmF5WG9yKGFyciwgaykp