#include<bits/stdc++.h>
using namespace std;
int n,m;
long long a[300005],b[300005],cnt[300005],mode=0,md[300005];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i];
}
for(int i=1;i<=n-300;i++){
cnt[b[i]]+=a[i];
if(cnt[b[i]]>cnt[mode] or cnt[b[i]]==cnt[mode] and b[i]>mode){
mode=b[i];
}
}
for(;m;m--){
int op,x,y;
long long k;
cin>>op;
if(op==1){
cin>>x>>y;
a[x]+=y;
if(x<=n-300){
cnt[b[x]]+=y;
if(cnt[b[i]]>cnt[mode] or cnt[b[i]]==cnt[mode] and b[i]>mode){
mode=x;
}
}
}
else{
cin>>k;
md[n-300]=mode;
for(int i=n-300+1;i<=n;i++){
cnt[b[i]]+=a[i];
if(cnt[b[i]]>cnt[md[i-1]] or cnt[b[i]]==cnt[md[i-1]] and b[i]>md[i-1]){
md[i]=b[i];
}
else{
md[i]=md[i-1];
}
}
for(int i=n;i>n-300;i--){
k^=md[i]*a[i];
if(k==0){
break;
}
}
}
}
return 0;
}