#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, m;
    cin >> n >> m;
    vector<int> v(n);
    vector<int> anss(m);

    vector<vector<int>> step(n, vector<int>(30, 0));
    for(int i = 0; i < n; i++)
    {
        float x;
        cin >> x;
        int jj =(int)log2(x);
        for(int j = 0; j < 30; j++)
        {
            if(j == jj)
            {
                step[i][j] = 1;
            }
            if(i != 0)
            {
                step[i][j] += step[i - 1][j];
            }
        }
    }
    for(int i = 0; i < m; i++)
    {
        int l, r;
        int ans;
        cin >> l >> r;
        if(l == r) anss[i] = 1;
        else
        {
            int ans = 0;
            if(l == 1)
            {
                for(int j = 0; j < 30; j++)
                {
                    if(step[r - 1][j] > ans) ans = step[r - 1][j];
                }
            }
            else
            {
                for(int j = 0; j < 30; j++)
                {
                    if(step[r - 1][j] - step[l - 2][j] > ans) ans = step[r - 1][j] - step[l - 2][j];
                }
            }
            anss[i] = ans;
        }
    }
    for (int i = 0; i < m; i++)
    {
        cout << anss[i] << "\n";
    }

}