#include <iostream>
using namespace std;
void unesi(long int* a, long int n)
{
    for(long int i=0; i<n; i++)
        cin>>a[i];
}
int main()
{
    long int n;
    cin>>n;
    long int q;
    cin>>q;
    long int a[n];
    long int r[q];
    long int l[q];
    unesi(a, n);
    for(long int i=0; i<q; i++)
        cin>>r[i]>>l[i];
    for(long int i=0; i<q; i++)
    {
       long  int  b=~0;
        for(long int j=r[i]-1; j<l[i]; j++)
            {
                b=(b&a[j]);
                if(b==0)
                    break;
            }
        cout<<b<<endl;
    }

    return 0;
}