#include <iostream>

using namespace std;

/*int and(int a,int b)
{
    if(a==0||b==0)
        return 0;
    return 1;
}*/

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    long long n, q;
    cin>>n>>q;
    long long a[n];
    long long b[q][2];
    bool jed=true;
    for(long long i=0; i<n; i++)
    {
        cin>>a[i];
        if(a[i]>1)
            jed=false;
    }
    for(long long i=0;i<q;i++)
    {
        cin>>b[i][0];
        cin>>b[i][1];
    }
    if(jed)
    {
        long long d[n][2];
        long long j=0;
        for(long long i=0;i<n;i++)
        {
            if(j%2==0){
                if(a[i]==1){
                    d[j/2][0]=i+1;
                    j++;
                }
            }
            else
                if(a[i]==0){
                    d[(int)(j/2)][1]=i;
                    j++;
                }
            if(i==n-1)
            {
                if(a[i]==1){
                    d[(int)(j/2)][1]=i+1;
                    j++;
                }
            }
        }
        j/=2;
        for(long long i=0; i<q;i++)
        {
            for(long long o=0;o<j;o++)
            {
                if(b[i][0]>=d[o][0])
                {
                    if(b[i][0]<=d[o][1])
                    {
                        if(b[i][1]<=d[o][1])
                        {
                            cout << 1<< endl;
                            o=j;
                        }
                        else{
                            cout <<0<<endl;
                            o=j;
                        }
                    }
                }
                else
                {
                    cout << 0<< endl;
                    o=j;
                }
            }
        }
    }
    return 0;
}