#include <bits/stdc++.h>

using namespace std;

int a[1000000];
int x[1000000];
int y[1000000];
int podnizKeceva(int l, int n)
{
    for(int i = l;i<n;i++)
    {
        if(a[i + 1] != 1)
        {
            return i;
        }
    }
    return n-1;
}

int main()
{
    int n,q;
    cin>>n>>q;
    bool b = true;
    for(int i = 0;i < n;i++)
    {
        cin>>a[i];
        if(a[i] > 1)
        {
            b = false;
        }
    }
    if(b == true)
    {
        int u;
        int o = 0;
        for(int i = 0;i<n;i++)
        {
            if(a[i] == 1)
            {
                if(i != u)
                {

                    u = podnizKeceva(i, n);
                    x[o] = i;
                    y[o] = u;
                    i = u;
                    o++;
                }
            }
        }
        for(int i = 0;i<q;i++)
        {
            int l,r;
            int z;
            cin>>l>>r;
            l -= 1;
            r -= 1;
            if(l == r)
            {
                z = a[l] & a[r];
            }
            else
            {
                for(int i = 0;i<o;i++)
                {
                    if(l>=x[i] && r<=y[i])
                    {
                        i = o;
                        cout<<1;
                    }
                }
                cout<<0;
            }
            cout<<z<<endl;
        }
    }
    else
    {

        for(int i = 0;i<q;i++)
        {
            int l,r;
            int z;
            cin>>l>>r;
            l -= 1;
            r -= 1;
            if(l == r)
            {
                z = a[l] & a[r];
            }
            else
            {
                z = a[l] & a[l+1];
                for(int j = l + 1;j < r;j++)
                {
                    z = z & a[j + 1];
                }

            }
            cout<<z<<endl;
        }
    }
}