#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
int n,k;
cin>>n>>k;
vector<int> a(n+1),l(k+1),r(k+1);
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=k;i++) cin>>l[i]>>r[i];
vector<int> pxor(n+1);
for(int i=1;i<=n;i++) pxor[i]=pxor[i-1]^a[i];
vector<vector<long long>> dp(n+1,vector<long long>(k+1,0));
dp[0][0]=1;
for(int i=1;i<=n;i++){
for(int s=1;s<=k;s++){
for(int j=0;j<i;j++){
int x = pxor[i]^pxor[j];
if(x>=l[s] && x<=r[s]) dp[i][s]+=dp[j][s-1];
}
}
}
cout<<dp[n][k]<<"\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsKICAgIGludCBuLGs7CiAgICBjaW4+Pm4+Pms7CiAgICB2ZWN0b3I8aW50PiBhKG4rMSksbChrKzEpLHIoaysxKTsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKSBjaW4+PmFbaV07CiAgICBmb3IoaW50IGk9MTtpPD1rO2krKykgY2luPj5sW2ldPj5yW2ldOwogICAgdmVjdG9yPGludD4gcHhvcihuKzEpOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspIHB4b3JbaV09cHhvcltpLTFdXmFbaV07CiAgICB2ZWN0b3I8dmVjdG9yPGxvbmcgbG9uZz4+IGRwKG4rMSx2ZWN0b3I8bG9uZyBsb25nPihrKzEsMCkpOwogICAgZHBbMF1bMF09MTsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKICAgICAgICBmb3IoaW50IHM9MTtzPD1rO3MrKyl7CiAgICAgICAgICAgIGZvcihpbnQgaj0wO2o8aTtqKyspewogICAgICAgICAgICAgICAgaW50IHggPSBweG9yW2ldXnB4b3Jbal07CiAgICAgICAgICAgICAgICBpZih4Pj1sW3NdICYmIHg8PXJbc10pIGRwW2ldW3NdKz1kcFtqXVtzLTFdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgY291dDw8ZHBbbl1ba108PCJcbiI7Cn0K