#include<bits/stdc++.h>
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
namespace NYNAMESPACE{;
tree<pair<int,int>,null_type,less<pair<int,int>>,rb_tree_tag,tree_order_statistics_node_update>l;
int cnt=-0,inf=(1ll<<30);
int main(){
ios::sync_with_stdio(false);
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
int c;
cin>>c;
l.insert({c,cnt++});
}
int la=0,an=0;;
while(m--){
int op,x;
cin>>op>>x;
x^=la;
if(op==1){
l.insert({x,cnt++});
}
if(op==2){
l.erase(*l.lower_bound({x,0}));
}
if(op==3){
int ans=l.order_of_key(*l.lower_bound({x,0}))+1;
la=ans;
an^=ans;
}
if(op==4){
int ans=(*l.find_by_order(x-1)).first;
la=ans;
an^=ans;
}
if(op==5){
auto a=l.lower_bound({x,0});a--;
int ans=(*a).first;
la=ans;
an^=ans;
}
if(op==6){
auto a=l.upper_bound({x,inf});
int ans=(*a).first;
la=ans;
an^=ans;
}
}
cout<<an;
return 0;
}
}
signed main(){
return NYNAMESPACE::main();
}
普通版可过。这里72pts