#include <iostream>
#include<vector>
#include<cmath>

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    int N,Q,L,R;
    cin>>N>>Q;
    vector<int> A(N);
    for(int i=0;i<N;i++){
        int rw;
        cin>>rw;
        A[i]=(int)log2(rw);
    }
    /*
    for(int i=0;i<N;i++){
        cout<<A[i]<<" ";
    }
    */
    vector<vector<int>> dp(N,vector<int>(30));
    dp[0][A[0]]=1;
    for(int i=1;i<N;i++){
        dp[i]=dp[i-1];
        dp[i][A[i]]++;
    }
    /*
    for(int i=0;i<N;i++){
        for(int j=0;j<30;j++){
            cout<<dp[i][j]<< " ";
        }
        cout<<"\n";
    }
    */
    vector<int> ans(Q);
    for(int i=0;i<Q;i++){
        cin>>L>>R;
        vector<int> frek=dp[R-1];
        if(L>1){
            for(int kulon=0;kulon<30;kulon++){
                frek[kulon]-=dp[L-2][kulon];
            }
        }
        /*
        cout<<"\n";
        for(int ind=0;ind<frek.size();ind++){
            cout<<frek[ind]<<" ";
        }
        cout<<"\n";
        */
        int mind=frek[0];
        for(int ind=1;ind<frek.size();ind++){
            mind=max(mind,frek[ind]);
        }
        ans[i]=mind;
    }
    for(int i=0;i<Q;i++){
        cout<<ans[i]<<"\n";
    }
}