#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <vector>

using namespace std;

int main(){
    int n, q;
    cin >> n >> q;
    long long int a[600000];
    vector<int> l;
    vector<int> r;
    vector<int> max;
    for(int i = 0; i < n; i++){
        cin >> a[i];
    }
    for(int i = 0; i < q; i++){
        cin >> l[i] >> r[i];
        max[i] = -1;
    }

    int br=0;

    for(int Q = 0; Q < q; Q++){
        for(int i = 0; i < r[Q]; i++){
            for(int j = i; j<r[Q]; j++){
                if(a[i]&a[j] > a[i]^a[j]){
                    br++;
                }
                else{
                    break;
                }
            }
            if(br > max[Q]){
                max[Q] = br;
            }
            br=0;
        }
    }
    for(int i = 0; i < q; i++){
        cout << max[i] << endl;
    }
    return 0;
}