#include<iostream>
#include<algorithm>
#include<unordered_map>
#define ll long long
using namespace std;
const int N=100005;
unordered_map<ll,int>mp;
int dp[N];
int main(){
ll n,m,x,data;
scanf("%lld%lld%lld",&n,&m,&x);
for(int i=1;i<=n;i++){
scanf("%lld",&data);
dp[i]=max(dp[i-1],mp[data^x]);
mp[data]=i;
}
int l,r;
for(int i=1;i<=m;i++){
scanf("%lld%lld",&l,&r);
if(dp[r]>=l){
printf("yes\n");
}else{
printf("no\n");
}
}
return 0;
}