#include<fstream>
#include<iostream>
#include<vector>
#include<iostream>
using namespace std;
#define MOD 666013
vector<int>l[MOD];
vector<int>::iterator findp(int val)
{
int poz=val%MOD;
vector<int>::iterator i;
for(i=l[poz].begin();i!=l[poz].end();++i)
{
if(*i==val)
return i;
}
return l[poz].end();
}
void upd(int val)
{
int poz=val%MOD;
vector<int>::iterator i=findp(val);
if(i==l[poz].end())
l[poz].push_back(val);
}
void sterg(int val)
{
int poz=val%MOD;
vector<int>::iterator i=findp(val);
if(i!=l[poz].end())
l[poz].erase(i);
}
int main()
{
ifstream si;
si.open("hashuri.in");
ofstream so;
so.open("hashuri.out");
int n;
si>>n;
int i,a,b;
for(i=0;i<n;++i)
{
si>>a>>b;
if(a==1)
{
upd(b);
}
else
{
if(a==2)
{
sterg(b);
}
else
{
so<<(findp(b)!=l[b%MOD].end())<<'\n';
}
}
}
si.close();
so.close();
return 0;
}