#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n, q;
    cin>>n>>q;
    vector <ll> niz(n);
    for (int i=0; i<n; i++)
    {
        cin>>niz[i];
    }
    vector <int> deg(n);
    int maxdeg=0;
    for (int i=0; i<n; i++)
    {
        deg[i]=log2(niz[i]);
        maxdeg=max(maxdeg, deg[i]);
    }
    vector <vector <int>> pref(maxdeg+1, vector <int> (n));
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<=maxdeg; j++)
        {
            if (j==deg[i])
            {
                if (i>0) pref[j][i]=pref[j][i-1]+1;
                else pref[j][i]=1;
            }
            else
            {
                if (i>0) pref[j][i]=pref[j][i-1];
                else pref[j][i]=0;
            }
        }
    }
    while (q--)
    {
        int l, r;
        cin>>l>>r;
        l--; r--;
        int ans=0;
        for (int i=0; i<=maxdeg; i++)
        {
            ans=max(ans, pref[i][r]-(l>0)*pref[i][l-1]);
        }
        cout<<ans<<endl;
    }
    return 0;
}