#include <bits/stdc++.h>
#define maxn 200004

using namespace std;

vector<int> a, b, z;
int x[maxn];
int main()
{
    int n, q, t, zz=0;
    z.push_back(0);
    cin >> n >> q;
    bool bul=true;
    for(int i=0;i<n;i++)
    {
        cin >> t; a.push_back(t);
        if(t==0) zz++;
        z.push_back(zz);
        if(t>1) bul=false;
        if(i%2==1) b.push_back(a[i]&a[i-1]);
    }
    if(bul)
    {
        for(int i=0;i<q;i++)
        {
            int l, r;
            cin >> l >> r;
            if(z[r]-z[l-1]==0) x[i]=1;
            else x[i]=0;
        }
        for(int i=0;i<q;i++) cout << x[i] << endl;
        return 0;
    }
    for(int i=0;i<q;i++)
    {
        int l, r, f;
        cin >> l >> r; f=a[l-1];
        for(int j=l;j<r;j++) f=f&a[j];
        x[i]=f;
    }
    for(int i=0;i<q;i++) cout << x[i] << endl;
    return 0;
}