#include <bits/stdc++.h>

using namespace std;

int a[500010];
int msd[36][500010];

int main()
{

    ios::sync_with_stdio(false);
    cin.tie(0);

    memset(msd, 0, sizeof(msd));

    int n, q; cin >> n >> q;
    for(int i = 1; i <= n; i++){
        cin >> a[i];
    }


    for(int i = 1; i <= n; i++){
        int j = 0;
        int num = a[i];
        while(num){
            num/=2;
            j++;
        }
        msd[j][i]++;
    }

    for(int i = 0; i <= 33; i++){
        for(int j = 1; j <= n; j++){
            msd[i][j]+=msd[i][j-1];
        }
    }

    while(q--){
        int l, r; cin >> l >> r;
        int ans = 0;
        for(int i = 0; i <= 33; i++){
            ans = max(ans, msd[i][r]-msd[i][l-1]);
        }
        cout << ans << '\n';
    }

    return 0;
}