N,Q = map(int, input().split()) A = list(map(int, input().split())) bit_csum = [[0 for _ in range(26)] for _ in range(N+1)] for i in range(1,N+1): bit = list(reversed(bin(A[i-1])[2:])) #print(bit) for j in range(26): bit_csum[i][j] += bit_csum[i-1][j] for j in range(len(bit)): if bit[j]=="1": bit_csum[i][j] += 1 for _ in range(Q): l,r = map(int, input().split()) ans = 0 for i in range(26): cnt0 = (r-l+1)-(bit_csum[r][i]-bit_csum[l-1][i]) cnt1 = (bit_csum[r][i]-bit_csum[l-1][i]) ans += (2**i)*(cnt0*cnt1) print(ans)