#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define P 1145141
const int N=1e6+5;
int a[N],sum[N],ans[N];
template <typename TM>
void in(TM &n) {
char c=getchar();
int f=1;
while ((c>'9' || c<'0') && c!='-') c=getchar();
if(c=='-') f=-1, c=getchar();
for(n=0; c>='0'&&c<='9'; c=getchar()) n=n*10+c-'0';
n*=f;
}
int main(){
int n,q;
in(n),in(q);
sum[0]=1;
for(int i=1;i<=n;i++){
in(a[i]);
sum[i]=((sum[i-1]%P)*(a[i]%P))%P;
}
for(int i=1;i<=q;i++){
int L,R;
in(L),in(R);
ans[i]=((sum[R]%P)/(sum[L-1]%P))%P;
}
int x=ans[1];
for(int i=2;i<=q;i++){
x^=ans[i];
}
printf("%d\n",x);
return 0;
}