#include<stdio.h>
#include<vector>
using namespace std;

vector<int>z[200001];
int n,q,a[200001];
int p,k,r,j;

int main(){

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

    for(int i=1;i<=n;i++){
            scanf("%d",&a[i]);
            j=i;
            while(j<=i){
               z[i].push_back(z[i][j]&a[j]);
               j--;
            }
    }
    for(int i=0;i<q;i++){
        scanf("%d%d",&p,&k);
        r=z[k][k-p];
        //for(int j=p+1;j<=k;j++)r=r&a[j];
        printf("%d\n",r);
    }

    return 0;
}