#include <stdio.h>
#define ll long long
// 经过探究我们发现:如果定义这种运算为加法,那么减法运算的结果与加法运算结果一模一样
// 不过这道题就是暴力求解,没有什么技术含量,
// 如果q加大,l,r加大,我们需要使用前缀和来进行求解
// 加法和减法结果相同!!!!新币楼温告呃
ll kye(ll x,ll y)
{
return x+y-(x^y);
}
ll rd()
{
ll rs = 0,c = getchar();
while (c < '0'||c > '9') c = getchar();
while (c >='0'&&c <='9')
{
rs = (rs<<3)+(rs<<1)+c-'0';
c = getchar();
}return rs;
}
void wt(ll t)
{
if (t > 9) wt(t/10);putchar(t%10|48);
}
void solve()
{
ll n =rd(),q = rd(),s = rd();
n --;while (n--)
{
ll t = rd();s = kye(s,t);
}
ll l = rd(),rr = rd();
wt(s);putchar('\n');
}
int main() {
ll t = rd();
while (t--)
{solve();}
return 0;
}