#include <bits/stdc++.h>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
const int MOD = 100003;
int n;
vector <int> Hash[MOD];
bool hashCheck(int val)
{
int mod = val % MOD;
for (int i = 0; i < Hash[mod].size(); ++i)
if (Hash[mod][i] == val)
return true;
return false;
}
void hashAdd(int val)
{
if (!hashCheck(val))
Hash[val % MOD].push_back(val);
}
void hashDelete(int val)
{
int mod = val % MOD;
for (int i = 0; i < Hash[mod].size(); ++i)
if (Hash[mod][i] == val)
{
Hash[mod][i] = -1;
return;
}
}
int main()
{
fin >> n;
int op, val;
for (int i = 1; i <= n; ++i)
{
fin >> op >> val;
if (op == 1) hashAdd(val);
else
if (op == 2) hashDelete(val);
else
fout << hashCheck(val) << '\n';
}
return 0;
}