local xor = bit.bxor local n, q = io.read("*n", "*n") local t = {} local z = 0 for i = 1, n do local a = io.read("*n") z = xor(z, a) t[i] = z end for iq = 1, q do local l, r = io.read("*n", "*n") if l == 1 then print(t[r]) else print(xor(t[l - 1], t[r])) end end