#include <iostream>
#include <fstream>
#include <vector>
#include <set>
#define mod 103703
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector <int> m[mod];
int N,op,x;
inline int control(int x,int t)
{
for (int j=0;j<m[t].size();j++)
if (m[t][j] == x) return 1;
return 0;
}
int main()
{
f >> N;
for (int i=0; i < N; ++i)
{
f >> op >> x;
if (op == 1)
{
if (!control(x,(x % mod)) ) m[x % mod].push_back(x);
}
if (op == 2)
{
int t = x % mod;
vector <int>::iterator iter = m[t].begin();
for (; iter!= m[t].end(); iter++)
{
if (*iter == x)
{
m[t].erase(iter);
break;
}
}
}
if (op == 3)
{/*
cout << "\navem : ";
for (int j=0; j < m[x%mod].size();++j)
cout << m[x%mod][j] << " ";*/
if (control(x,x % mod)) g << "1\n";
else g << "0\n";
}
}
return 0;
}