#include <bits/stdc++.h>
using namespace std;
int b[100000];

void stampa(vector<int> a){
    for(int i=0;i<a.size();i++){
        cout<<a[i]<<endl;
    }
}
void napravi_niz(vector<int> a,vector<int> &b, int k,int l){
    k--;l--;
    for(int i=k; i<=l; i++){
        b.push_back(a[i]);
    }
}
int broj(vector<int> a){
    for(int i=0;i<a.size();i++){
        for(int j=i;j<a.size();j++){
            if((a[i]&a[j])<=(a[i]^a[j])){
                return 0;
            }
        }
    }
    return a.size();
}
void f(vector<int> a, int n, int k, int &m){
    vector<int> v;
    vector<int> v1;
    if(k==n){
        for(int i=0;i<n;i++){
            if(b[i]){

                v.push_back(a[i]);
            }
        }
        if(broj(v)>m)
            m=broj(v);
        return;
    }
    b[k]=1;
    f(a,n,k+1,m);
    b[k]=0;
    f(a,n,k+1,m);

}

int main()
{
    int n,q;
    vector<int> a;
    vector<int> resenja;
    cin>>n>>q;
    for(int i = 0; i<n; i++){
        int x; cin>>x;
        a.push_back(x);
    }
    int k,l;
    for(int i = 0; i< q; i++){
        cin>>k>>l;
        vector<int> b;
        napravi_niz(a,b,k,l);
        int h = b.size();
        int m=0;
        f(b,h,0,m);
        resenja.push_back(m);
    }
    stampa(resenja);

    return 0;
}