#include <bits/stdc++.h>
#define int long long
#define MAXN (int)5e5+5
using namespace std;
int a[MAXN],p[MAXN][30];
void solve(){
    int n,q;cin>>n>>q;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }for(int i=1;i<=n;i++){
        int k=0;
        for(int j=0;j<30;j++){
            if(a[i]&(1<<j)){
                k=j;
            }
            p[i][j]=p[i-1][j];
        }
        p[i][k]++;
    }
    while(q--){
        int l,r;cin>>l>>r;
        int m=1;
        for(int i=0;i<30;i++){
            m=max(m,p[r][i]-p[l-1][i]);
        }
        cout<<m<<'\n';
    }

}
int32_t main()
{
    ios_base::sync_with_stdio(0);cout.tie(0);cin.tie(0);
    solve();
    return 0;
}