#include <iostream>
#include <fstream>
#include <vector>
#include <list>
using namespace std;
ifstream f ("hashuri.in");
ofstream g ("hashuri.out");
int main()
{
int N,i,op,nr;
const int hashnr=393209;
bool ok;
vector <list<unsigned>> hashuri(hashnr);
f>>N;
for (i=0; i<N; i++)
{
f>>op>>nr;
if (op==1)
{
ok=true;
for (std::list<unsigned>::iterator it=hashuri[nr%hashnr].begin(); it!=hashuri[nr%hashnr].end(); ++it)
if (*it==nr)
{
ok=false;
break;
}
if (ok)
hashuri[nr%hashnr].push_back(nr);
}
else if (op==2)
{
for (std::list<unsigned>::iterator it=hashuri[nr%hashnr].begin(); it!=hashuri[nr%hashnr].end(); ++it)
if (*it==nr)
{
hashuri[nr%hashnr].erase(it);
break;
}
}
else
{
ok=false;
for (std::list<unsigned>::iterator it=hashuri[nr%hashnr].begin(); it!=hashuri[nr%hashnr].end(); ++it)
if (*it==nr)
{
g<<1<<"\n";
ok=true;
break;
}
if (!ok)
g<<0<<"\n";
}
}
}