#include <cstdio>

long long int a[200000],n[100000];

int main()
{
    long long int Q,N,z1,z2,s,c=0;
    int v=0,t;
    scanf("%lld %lld",&N,&Q);
    for(long long int i=0;i<N;i++)
        {
            scanf("%lld",&a[i]);
            if(a[i]>1)
                v=1;
            else if(!a[i])
            {
                n[c]=i;
                c++;
            }
        }
    for(long long int i=0;i<Q;i++)
    {
        scanf("%lld %lld",&z1,&z2);
        if(!v)
        {
            t=0;
            for(long long int j=0;j<c;j++)
                if(z1-1<=n[j]&&z2-1>=n[j])
                    {
                        t=1;
                        break;
                    }
            if(t)
                printf("0\n");
            else
                printf("1\n");
        }
        else
        {
        if(z1!=z2)
        s=a[z1-1]&a[z1];
        else
            s=a[z1-1];
        for(long long int j=z1+1;j<z2;j++)
            s=s&a[j];
        printf("%lld\n",s);
        }
    }
    return 0;
}