#include <bits/stdc++.h>

using namespace std;

#define NMax 500005
#define AMax 1000000

vector <int> nsd(AMax);

vector<int> najbliziStepenDvojke()
{
    /*for (int i=1; i<=1000; i++)
    {
        int l=log2(i);
        nsd[i]=l+1;
    }
    return nsd;*/
    int x=2, l=1;
    for (long long i=1; i<=AMax; i++)
    {
        if (i<x)
        {
            nsd[i]=l;
        }
        else
        {
            x=x*2;
            l++;
            nsd[i]=l;
        }
    }
    return nsd;
}

void sabiranje(int A[NMax][25], int n, int k)
{
    for (int i=0; i<25; i++)
    {
        A[k][i]=A[k][i]+A[k-1][i];
    }
}

void oduzimanje(int A[NMax][25], int l, int r, int h[])
{
    if(l==1)
    {
        for (int i=0; i<25; i++)
        {
            h[i]=(A[r][i]);
        }
    }
    else
    {
        for (int i=0; i<25; i++)
        {
            h[i]=(A[r][i]-A[l-1][i]);
        }
    }

}

int maksimum(int a[])
{
    int maks=0;
    for (int i=0; i<25; i++)
    {
        if (a[i]>maks)
        {
            maks=a[i];
        }
    }
    return maks;
}

#define SMax 25

vector<int> m(SMax, 0);
int h[25];
int a[NMax];
int ans[NMax];
int A[NMax][25];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n, q;
    cin>> n >> q;
    for (int i=0; i<n; i++)
    {
        cin>> a[i];
    }
    najbliziStepenDvojke();
    A[0][nsd[a[0]]]=1;
    for (int i=1; i<n; i++)
    {
        A[i][nsd[a[i]]]=1;
        sabiranje(A, n, i);
    }
    for (int i=0; i<q; i++)
    {
        int l, r;
        cin>> l >> r;
        oduzimanje(A, l, r, h);
        for (int j=0; j<25; j++)
        {
            //cout<< h[j] << " ";
        }
        int maks=maksimum(h);
        /*for (int j=l-1; j<r; j++)
        {
            m[nsd[a[j]]]++;
        }
        for (int j=l-1; j<r; j++)
        {
            if(m[nsd[a[j]]]>s)
            {
                s=m[nsd[a[j]]];
            }
            m[nsd[a[j]]]=0;
        }*/
        ans[i]=maks;
    }
    for (int i=0; i<q; i++)
    {
        cout<< ans[i]<< endl;
    }
    return 0;
}