#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);
    long long n, q, i, gr1, gr2, j = 0;
    cin >> n >> q;
    long long niz[n], resenja[q];
        long long pozicijenule[n];
    for(i = 0; i < n; i++)
    {
        cin >> niz[i];
        if(niz[i] == 0)
        {
            pozicijenule[j] = i;
            j++;
        }
    }
    long long pom = j;
    for(i = 0; i < q; i++)
    {
        cin >> gr1 >> gr2;
        bool ok = true;
        for(long long k = 0; k < pom; k++)
        {
            if(pozicijenule[k] >= gr1 - 1 && pozicijenule[k] < gr2)
            {
                resenja[i] = 0;
                k = j + 1;
                ok = false;
            }
        }
        if(ok)
            {
                for(j = gr1; j < gr2; j++)
                {
                    if(j == gr1) resenja[i] = niz[j] & niz[j-1];
                    else resenja[i] = resenja[i] & niz[j];

                    if(resenja[i] == 0) j = gr2;
                }
            }
    }
    for(i = 0; i < q; i++)
    {
        if(i != q-1) cout << resenja[i] << endl;
        else cout << resenja[i];
    }
    return 0;
}