#include<stdio.h>

int n,q,a[200001];
int p,k,r,j;

int AND(int p,int k){
    if(p==k) return a[p];
    else return a[k]&AND(p,k-1);
}

int main(){

    scanf("%d%d",&n,&q);

    for(int i=1;i<=n;i++)scanf("%d",&a[i]);
    
    for(int i=0;i<q;i++){
        scanf("%d%d",&p,&k);
        if(p==k)printf("%d",a[p]);
        else{
            r=AND(p,k);
            printf("%d\n",r);
        }
    }

    return 0;
}