#include<bits/stdc++.h>
using namespace std;
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    int n,q;
    cin>>n>>q;
    vector<int> niz(n+1);
    for(int i=1;i<=n;i++){
        cin>>niz[i];
    }
    vector<bool> dali(n+1);
    int k=1;
    for(int i=0;i<=30;i++){
        for(int j=1;j<=n;j++){
            if(dali[j]==false && k<=niz[j] && 2*k>niz[j]){
                dali[j] = true;
                niz[j] = i;
            }
        }
        k*=2;
    }
    int mat[n+1][31] = {0};
    for(int i=0;i<=30;i++){
        for(int j=1;j<=n;j++){
            mat[j][i] = mat[j-1][i] + (niz[j] == i);
        }
    }
    for(int f=0;f<q;f++){
        int l,r;
        cin>>l>>r;
        int m=0;
        for(int i=0;i<=30;i++){
            if(mat[r][i] - mat[l-1][i] > m){
                m = mat[r][i] - mat[l-1][i];
            }
        }
        cout<<m<<endl;
    }
}