```cpp
#include <algorithm>
#include <stdio.h>
#include <vector>
typedef long long llt;
typedef unsigned uint;typedef unsigned long long ullt;
typedef bool bol;typedef char chr;typedef void voi;
typedef double dbl;
template<typename T>bol _max(T&a,T b){return(a<b)?a=b,true:false;}
template<typename T>bol _min(T&a,T b){return(b<a)?a=b,true:false;}
template<typename T>T lowbit(T n){return n&-n;}
template<typename T>T gcd(T a,T b){return b?gcd(b,a%b):a;}
template<typename T>T lcm(T a,T b){return(a!=0||b!=0)?a/gcd(a,b)*b:(T)0;}
template<typename T>T exgcd(T a,T b,T&x,T&y){if(b!=0){T ans=exgcd(b,a%b,y,x);y-=a/b*x;return ans;}else return y=0,x=1,a;}
template<typename T>T power(T base,T index,T mod)
{
T ans=1%mod;
while(index)
{
if(index&1)ans=ans*base%mod;
base=base*base%mod,index>>=1;
}
return ans;
}
const ullt Mod=1e9+7,g=5;
struct Seg
{
Seg*L,*R;uint len;ullt v;
Seg(uint n):L(NULL),R(NULL),len(n),v(0){if(n>1)L=new Seg(n>>1),R=new Seg(n-(n>>1));}
bol add(uint p,ullt w)
{
if(len==1)return(v=(v+w)&-1u)<w;
bol ans=(p<(len>>1))?L->add(p,w):R->add(p-(len>>1),w);
v=(L->v*g+R->v)%Mod;return ans;
}
bol getop(uint p,uint t){return(len==1)?v>>t&1:(p<(len>>1)?L->getop(p,t):R->getop(p-(len>>1),t));}
}Add(1048576),Del(1048576);
llt compare(Seg*A,Seg*D,uint p,uint t)
{
if(A->v==D->v)return 0;
if(A->len==1)return((A->v)&((1llu<<t)-1))-((D->v)&((1llu<<t)-1));
if(p<(A->len>>1))return compare(A->L,D->L,p,t);
llt v=compare(A->R,D->R,p-(A->len>>1),t);if(v)return v;
return compare(A->L,D->L,(A->len>>1)-1,32);
}
voi add(Seg*A,ullt a,uint b){
a<<=b&31,b>>=5;
{ullt v=a&-1u;uint p=b;while(v)v=A->add(p++,v);}
{ullt v=a>>32;uint p=b+1;while(v)v=A->add(p++,v);}
}
int main()
{
#ifdef MYEE
freopen("QAQ.in","r",stdin);
freopen("QAQ.out","w",stdout);
#endif
uint q;scanf("%u%*u%*u%*u",&q);
while(q--)
{
uint op;scanf("%u",&op);
if(op==1){llt a;uint b;scanf("%lld%u",&a,&b);if(a>0)add(&Add,a,b);else if(a<0)add(&Del,-a,b);}
else{
uint k;scanf("%u",&k);putchar('0'+((compare(&Add,&Del,k>>5,k&31)<0)^Add.getop(k>>5,k&31)^Del.getop(k>>5,k&31))),putchar('\n');
}
}
return 0;
}
```
by myee @ 2022-08-12 16:45:10