#include
using namespace std;
const int N=10000010;
int T[N<<3];
void update(int p,int v,int rt,int l,int r)
{
T[rt]+=v;
if (l==r) return ;
int m=l+(r-l)/2;
if (p<=m) update(p,v,rt<<1,l,m);
else update(p,v,rt<<1|1,m+1,r);
}
int kth(int k,int rt,int l,int r)
{
if (l==r) return l;
int m=l+(r-l)/2;
if (T[rt<<1]>=k) return kth(k,rt<<1,l,m);
return kth(k-T[rt<<1],rt<<1|1,m+1,r);
}
int Rank(int pl,int pr,int rt,int l,int r)
{
if(pl<=l&&r<=pr) return T[rt];
int m=l+(r-l)/2;
int res=0;
if (pl<=m)res+=Rank(pl,pr,rt<<1,l,m);
if (m>n;
int xmin=0x7fffffff,xmax=0x80000000;
for (int i=1;i<=n;i++)
{
cin>>op[i]>>a[i];
xmin=min(a[i],xmin);
xmax=max(xmax,a[i]);
}
for(int i=1;i<=n;i++)
{
if (op[i]==1)
update(a[i],1,1,xmin,xmax);
else if(op[i]==2)
update(a[i],-1,1,xmin,xmax);
else if (op[i]==3)
{
if (a[i]==xmin)
{
cout<<1<