from itertools import accumulate def solve(): N, Q = map(int, input().split()) A = list(map(int, input().split())) acc = [[0] + list(accumulate([(a >> i) & 1 for a in A])) for i in range(26)] def sigma(l, r): ans = 0 for digit in range(26): one = acc[digit][r] - acc[digit][l] zero = r - l - one ans += (one * zero) << digit return ans for _ in range(Q): L, R = map(int, input().split()) print(sigma(L - 1, R)) if __name__ == "__main__": solve()