N, Q = gets.split.map(&:to_i) A = gets.split.map(&:to_i) RUI = [0] A.each do |a| RUI << (RUI.last ^ a) end RUI << 0 Q.times do l, r = gets.split.map(&:to_i) ans = 0 ans ^= RUI[l - 1] ans ^= RUI[r] puts ans end