#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int MAXN = 5e5 + 5;

int N, Q;
ll A[MAXN], PS[35][MAXN];

int main()
{
    ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    cin >> N >> Q;
    for(int i = 1; i <= N; i++) cin >> A[i];
    for(int i = 1; i <= N; i++)
    {
        for(int j = 0; j <= 32; j++) PS[j][i] = PS[j][i - 1];
        int fb;
        for(int j = 0; j <= 32; j++) if(A[i] & (1LL << j)) fb = j;
        PS[fb][i]++;
    }
//    for(int i = 0; i <= 32; i++)
//    {
//        for(int j = 1; j <= N; j++)
//            cout << PS[i][j] << " ";
//        cout << "\n";
//    }
    while(Q--)
    {
        ll sol = 0;
        int l, r;
        cin >> l >> r;
        for(int i = 0; i <= 32; i++)
        {
            sol = max(sol, PS[i][r] - PS[i][l - 1]);
        }
        cout << sol << "\n";
    }

    return 0;
}