/*
这道题的式子是找规律退出来的,看了题解发现不完全对,不过也水了六十五分,qaq,反正推式子
,就把六十五分的发在这了
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=3000010;
inline int read(){
int num=0,flag=1; char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-') flag=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9') num=num*10+ch-'0',ch=getchar();
return flag*num;
}
int n,t,k,a[maxn];
int main(){
scanf("%d%d%d",&n,&t,&k);
for(int i=1;i<=n;i++){
a[i]=read();
}
int now;
if(t%2){
now=a[k];
for(int i=1;i<=t;i++){
now=now xor a[(k+i)%n];
}
}
else{
now=a[k] xor a[(k+t)%n];
}
cout<<now<<endl;
return 0;
}