#include <bits/stdc++.h>
#define maxn 200004

using namespace std;

int a[maxn], b[maxn];
int r[maxn][21];
int n, q;

int main ()
{
    int n, q, t, f=0;
    cin >> n >> q >> t;
    while(f<20)
    {
        if(t&1) r[1][f]=1;
        f++;
        t/=2;
    }
    for(int i=2;i<=n;i++)
    {
        cin >> t;
        f=0;
        while(f<20)
        {
            r[i][f]=r[i-1][f];
            if(t&1) r[i][f]++;
            f++;
            t/=2;
        }
    }
    for(int i=0;i<q;i++)
    {
        int s=0, left, right, dif;
        cin >> left >> right; dif=right-left+1;
        f=0;
        for(int j=0;j<20;j++)
        {
            if(r[right][j]-r[left-1][j]==dif&&r[right][j]>0) s+=round(pow(2,j));
            f++;
        }
        b[i]=s;
    }
    for(int i=0;i<q;i++) cout << b[i] << endl;
    cout << endl;
    return 0;
}