import sys
input=sys.stdin.readline

def solve():
    n,q=map(int,input().split())
    nums=list(map(int,input().split()))
    for _ in range(q):
        l,r=map(int,input().split())
        if r-l>60:
            print(0)
            continue
        if l==r:
            print(nums[l-1])
            continue
        if l>=n:
            print(nums[l-1])
            continue
        ans=nums[l-1]
        for i in range(l,r):
            #print(nums[i])
            ans=ans+nums[i]-(ans^nums[i])
        print(ans)
        


for _ in range(int(input())):
    solve()

因为𝑥+𝑦=(𝑥⊕𝑦)+2×(𝑥&𝑦),所以 𝑓(𝑥,𝑦)=2×(𝑥&𝑦).

当l与r距离大于60时,按位与再右移必定为0

因此当r-l>60时直接返回0,其余情况暴力计算