#include <bits/stdc++.h>
#define debug(x) cout << #x << " is " << x << '\n';
#define stigao() cout << "Stigao\n";

using namespace std;

typedef long long ll;

/*
5 4
1 5 4 3 2
1 3
4 5
2 5
2 3

5 1
1 5 4 3 2
1 3
*/

const int MAXN = 2e5 + 5;
int n, q, a[MAXN], L, R;
int dp[MAXN][35], pref[MAXN][35];

int main(){
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cin >> n >> q;
    for(int i = 1; i <= n; i++)
        cin >> a[i];
    for(int i = 1; i <= n; i++){
        for(int k = 1; k <= 31; k++){
            if(a[i] & 1){
                dp[i][k] = false;
            } else {
                dp[i][k] = true;
            }
            a[i] >>= 1;
        }
    }
    for(int i = 1; i <= n; i++){
        for(int k = 1; k <= 31; k++){
            pref[i][k] = pref[i - 1][k] + dp[i][k];
        }
    }
    while(q--){
        cin >> L >> R;
        int res = 0;
        for(int k = 1; k <= 31; k++){
            if((pref[R][k] - pref[L - 1][k]) == 0){
                res |= (1 << (k - 1));
            }
        }
        cout << res << '\n';
    }
    return 0;
}