#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    long long n, t, k = 2;
    vector<long long> a;
    vector<pair<long long , long long >> quer;
    long long  b[500100];
    b[1] = 2;
    cin >> n >> t;
    for(long long  i = 0; i < n; i++){
        long long  x;
        cin >> x;
        a.push_back(x);
    }
    for(long long  i = 0; i < t; i++){
        long long  l, r;
        pair<long long , long long > pom;
        cin >> l >> r;
        pom.first = l;
        pom.second = r;
        quer.push_back(pom);

    }
    for(long long  i = 2; i < 500100; i++){
        if(i < k)
            b[i] = k;
        else{
            k = k*2;
            b[i] = k;
        }
    }
    for(long long i = 0; i < t; i++){
        long long ans = 0;
        map<long long, long long> m;
        pair<long long, long long> pom;
        pom = quer[i];
        long long  l = pom.first;
        long long  r = pom.second;
        l--;
        r--;
        for(long long j = l; j <= r; j++){
            m[b[a[j]]]++;
        }
        for(auto& h:m){
            if(h.second > ans)
                ans = k.second;
        }
        cout << ans << endl;
    }
    return 0;
}