#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll maxn=5*1e5;
int matrica[maxn][33];
int bit_width(ll x){
    for(int i=31;i>=0;i--){
        if(x&(1<<i)){
            return i;
        }
    }
}
bool ispow2(ll x){
    return x && !(x&(x-1));
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll n,q; cin>>n>>q;
    vector<ll> a(n);
    for(int i=0;i<n;i++){
        cin>>a[i];
        matrica[i][bit_width(a[i])]=1;
    }
    while(q--){
        ll l,r;
        cin>>l>>r;
        l--,r--;
        ll maxi=0;
        for(int j=0;j<32;j++){
            ll tren=0;
            for(int i=l;i<=r;i++){
                tren+=matrica[i][j];
            }
            maxi=max(tren,maxi);
        }
        cout<<maxi<<"\n";
    }
    return 0;
}