#include <fstream>
#include <vector>
using namespace std;
#define MOD 914239
vector<int> ::iterator find(int x,vector<vector<int> >&has)
{
vector<int> :: iterator it;
int list=x%MOD;
for(it=has[list].begin();it!=has[list].end();it++)
if(*it==x)return it;
return has[list].end();
}
void add(int x,vector<vector<int> >&has)
{
int list=x%MOD;
if(find(x,has)==has[list].end())
has[list].emplace_back(x);
}
int del(int x,vector<vector<int> >&has)
{
int list = x % MOD;
vector<int>::iterator it;
it = find(x,has);
if (it != has[list].end())
has[list].erase(it);
}
int main()
{
ifstream be("hashuri.in");
ofstream ki("hashuri.out");
int n,db=0;
be>>n;
vector<vector<int> >has(n+1);
for(int i=1;i<=n;i++)
{
int x,y;
be>>x>>y;
if(x==1 ){
find(y,has);
}
if(x==2)del(y,has);
if(x==3)
{
ki<<(find(y,has)!=has[y].end())<<endl;
}
}
return 0;
}