#include<iostream>
using namespace std;
int n,q,x[200000],y[200000];
void unos()
{
    cin>>n>>q;
    for(int i=1;i<=n;i++)
        cin>>x[i];
}
int upit(int a, int b)
{
    return a&b;
}
void program()
{
    int i,l,r,s,j;
    for(i=0;i<q;i++)
    {
        cin>>l>>r;
        y[i]=x[l];
        for(j=l+1;j<=r;j++)
        {
            if (y[i]==0)
                break;
            if (x[j]==0)
            {
                y[i]=0;
                break;
            }
            y[i]=upit(y[i],x[j]);
        }
    }
    for(i=0;i<q;i++)
        cout<<y[i]<<endl;
}
int main()
{
    unos();
    program();
}