#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[n];
    int l[q];
    int r[q];
    int maxx[q];
    int m= -1;
    for(int i = 0; i < n; i++){
        cin >> a[i];
    }
    for(int i = 0; i < q; i++){
        cin >> l[i] >> r[i];
        l[i]--;
        r[i];
        maxx[i] = -1;
    }

    int br=0;

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