#include<iostream>
#include<math.h>
using namespace std;
void build(int arr[], int s, int e, int tree[], int index){
if(s==e){
tree[index] = arr[s];
return;
}
int mid = (s+e)/2;
build(arr,s,mid,tree,2*index);
build(arr,mid+1,e,tree,2*index+1);
int times = log2(e-s+1);
if(times&1){
tree[index] = (tree[2*index] | tree[2*index+1]);
}
else{
tree[index] = (tree[2*index] ^ tree[2*index+1]);
}
}
void update(int tree[], int ss, int se, int i ,int inc,int index){
if(i<ss || i>se){
return;
}
if(i>ss && i<se ){
tree[index] = inc;
}
int mid = (ss+se)/2;
update(tree,ss,mid,i,inc,2*index);
update(tree,ss,mid,i,inc,2*index);
int times = log2(se-ss+1);
if(times&1){
tree[index] = (tree[2*index] | tree[2*index+1]);
}
else{
tree[index] = (tree[2*index] ^ tree[2*index+1]);
}
}
int main(){
int n,q;
cin>>n>>q;
n = pow(2,n);
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
int *tree = new int[4*n+1];
build(arr,0,n-1,tree,1);
while(q--){
int i, inc;
cin>>i>>inc;
i--;
update(tree,0,n-1,i,inc,1);
cout<<tree[1]<<endl;
}
return 0;}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPG1hdGguaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgYnVpbGQoaW50IGFycltdLCBpbnQgcywgaW50IGUsIGludCB0cmVlW10sIGludCBpbmRleCl7CiAgICBpZihzPT1lKXsKICAgICAgICB0cmVlW2luZGV4XSA9IGFycltzXTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpbnQgbWlkID0gKHMrZSkvMjsKICAgIGJ1aWxkKGFycixzLG1pZCx0cmVlLDIqaW5kZXgpOwogICAgYnVpbGQoYXJyLG1pZCsxLGUsdHJlZSwyKmluZGV4KzEpOwogICAgCiAgICBpbnQgdGltZXMgPSBsb2cyKGUtcysxKTsKICAgIGlmKHRpbWVzJjEpewogICAgICAgIHRyZWVbaW5kZXhdID0gKHRyZWVbMippbmRleF0gfCB0cmVlWzIqaW5kZXgrMV0pOwogICAgfQogICAgZWxzZXsKICAgICAgICB0cmVlW2luZGV4XSA9ICh0cmVlWzIqaW5kZXhdIF4gdHJlZVsyKmluZGV4KzFdKTsKICAgIH0KfQp2b2lkIHVwZGF0ZShpbnQgdHJlZVtdLCBpbnQgc3MsIGludCBzZSwgaW50IGkgLGludCBpbmMsaW50IGluZGV4KXsKICAgIGlmKGk8c3MgfHwgaT5zZSl7CiAgICAgICAgcmV0dXJuOyAKICAgIH0KICAgIGlmKGk+c3MgJiYgaTxzZSApewogICAgICAgIHRyZWVbaW5kZXhdID0gaW5jOwogICAgfQogICAgaW50IG1pZCA9IChzcytzZSkvMjsKICAgIHVwZGF0ZSh0cmVlLHNzLG1pZCxpLGluYywyKmluZGV4KTsKICAgIHVwZGF0ZSh0cmVlLHNzLG1pZCxpLGluYywyKmluZGV4KTsKICAgIAogICAgaW50IHRpbWVzID0gbG9nMihzZS1zcysxKTsKICAgIGlmKHRpbWVzJjEpewogICAgICAgIHRyZWVbaW5kZXhdID0gKHRyZWVbMippbmRleF0gfCB0cmVlWzIqaW5kZXgrMV0pOwogICAgfQogICAgZWxzZXsKICAgICAgICB0cmVlW2luZGV4XSA9ICh0cmVlWzIqaW5kZXhdIF4gdHJlZVsyKmluZGV4KzFdKTsKICAgIH0KfQppbnQgbWFpbigpewogICAgaW50IG4scTsKICAgIGNpbj4+bj4+cTsKICAgIG4gPSBwb3coMixuKTsKICAgIGludCBhcnJbbl07CiAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgICAgICBjaW4+PmFycltpXTsKICAgIH0KICAgIGludCAqdHJlZSA9IG5ldyBpbnRbNCpuKzFdOwogICAgYnVpbGQoYXJyLDAsbi0xLHRyZWUsMSk7CiAgICB3aGlsZShxLS0pewogICAgICAgIGludCBpLCBpbmM7CiAgICAgICAgY2luPj5pPj5pbmM7CiAgICAgICAgaS0tOwogICAgICAgIHVwZGF0ZSh0cmVlLDAsbi0xLGksaW5jLDEpOwogICAgICAgIGNvdXQ8PHRyZWVbMV08PGVuZGw7CiAgICB9CnJldHVybiAwO30=