#include <iostream>
#include <fstream>
#include <vector>
#define nr_zone 666013
using namespace std;
vector<int> Hash[nr_zone];
int search1(vector<int> Hash[nr_zone], int val)
{
int zona=val%nr_zone;
for(int i=0;i<Hash[zona].size();++i)
if(Hash[zona][i]==val)
return i;
return -1;
}
void add1 (vector<int> Hash[nr_zone], int val)
{
int zona=val%nr_zone;
if (search1(Hash,val)!=-1)
return;
else
Hash[zona].push_back(val);
return;
}
void erase1 (vector<int> Hash[nr_zone], int val)
{
int poz=search1(Hash,val);
if (poz!=-1)
{
int zona=val%nr_zone;
Hash[zona][poz]=Hash[zona].back();
Hash[zona].pop_back();
}
}
int main()
{
ifstream f ("hashuri.in");
ofstream g ("hashuri.out");
long n,i,c,x;
f>>n;
for (i=1;i<=n;i++)
{
f>>c>>x;
if(c==1)
add1(Hash,x);
else
if(c==2)
erase1(Hash,x);
else
{
if(search1(Hash,x)==-1)
g<<0<<'\n';
else
g<<1<<'\n';
}
}
f.close();
g.close();
return 0;
}