#include<iostream>
#include<stdio.h>
using namespace std;
struct nod{long info;
nod *leg;}*prim0,*ultim0,*prim1,*ultim1,*prim2,*ultim2,*prim3,*ultim3,*prim4,*ultim4,*p,*q,*r;
void adaug(struct nod *&prim,struct nod *&ultim,long x)
{
if(prim==NULL)
{
p=new nod;
p->info=x;
prim=ultim=p;
ultim->leg=NULL;
}
else
{
p=new nod;
p->info=x;
ultim->leg=p;
ultim=p;
ultim->leg=NULL;
}
}
void sterg(struct nod *&prim,struct nod *&ultim,long x)
{
if(prim->info==x)
{
p=prim;
prim=prim->leg;
p->leg=NULL;
delete p;
}
else
if(ultim->info==x)
{
p=prim;
while(p->leg!=ultim)
p=p->leg;
q=ultim;
ultim=p;
ultim->leg=NULL;
delete q;
}
else
{
p=prim;
q=p->leg;
while(q->info!=x)
{
q=q->leg;
p=p->leg;
}
r=q->leg;
p->leg=r;
delete q;
}
}
int caut(struct nod *&prim,long x)
{
if(prim==NULL)
return 0;
else
{
p=prim;
while(p!=NULL)
if(p->info==x)
return 1;
else
p=p->leg;
return 0;
}
}
int main()
{
long x,op,n,i;
FILE *f,*g;
f=fopen("hashuri.in","r");
g=fopen("hashuri.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
{
fscanf(f,"%d%d",&op,&x);
if(op==1)
{
if(x%5==0&&caut(prim0,x)==0)
adaug(prim0,ultim0,x);
else
if(x%5==1&&caut(prim1,x)==0)
adaug(prim1,ultim1,x);
else
if(x%5==2&&caut(prim2,x)==0)
adaug(prim2,ultim2,x);
else
if(x%5==3&&caut(prim3,x)==0)
adaug(prim3,ultim3,x);
else
if(caut(prim4,x)==0)
adaug(prim4,ultim4,x);
}
else
if(op==2)
{
if(x%5==0&&caut(prim0,x)==1)
sterg(prim0,ultim0,x);
else
if(x%5==1&&caut(prim1,x)==1)
sterg(prim1,ultim1,x);
else
if(x%5==2&&caut(prim2,x)==1)
sterg(prim2,ultim2,x);
else
if(x%5==3&&caut(prim3,x)==1)
sterg(prim3,ultim3,x);
else
if(caut(prim4,x)==1)
sterg(prim4,ultim4,x);
}
else
{
if(x%5==0)
fprintf(g,"%d\n",caut(prim0,x));
else
if(x%5==1)
fprintf(g,"%d\n",caut(prim1,x));
else
if(x%5==2)
fprintf(g,"%d\n",caut(prim2,x));
else
if(x%5==3)
fprintf(g,"%d\n",caut(prim3,x));
else
fprintf(g,"%d\n",caut(prim4,x));
}
}
fclose(f);
fclose(g);
return 0;
}