#include <bits/stdc++.h>
//#define int long long

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int n , q , x , y = 1;
    cin>>n>>q;
    vector<int> v (n);
    for(int i = 0; i<n; i++){
        cin>>x;
        v[i] = x;
    }

    int stepen = 32;
    bool prvi = true;

    vector<vector<int>> pref(n , vector<int> (stepen));

    for(int j = 0; j<stepen; j++){
        pref[0][j] = 0;
        if (v[0] / y == 0 && prvi) {
            pref[0][j] = pref[0][j] + 1;
            prvi = false;
        }
        y = y*2;
    }


    for(int i = 1; i<n; i++){
        y = 1;
        prvi = true;
        for(int j = 0; j<stepen; j++){
            pref[i][j] = pref[i-1][j];
            if (v[i] / y == 0 && prvi) {
                pref[i][j] = pref[i][j] + 1;
                prvi = false;
            }
            y = y*2;
        }
    }


//    for(int i = 0; i<n; i++){
//        for(int j = 0; j<stepen; j++){
//            cout<<pref[i][j]<<" ";
//        }
//        cout<<"\n";
//    }

    int l , r, res;
    for(int i = 0; i<q; i++){
        cin>>l>>r;
        l--;
        r--;
        res = 0;
        for(int j = 0; j<stepen; j++){
            if(l == 0){
                res = max(res , pref[r][j]);
            }else{
                res = max(res , pref[r][j] - pref[l-1][j]);
            }
        }
        cout<<res<<"\n";
    }


}