Cod sursa(job #828231)
#include <vector>
#include <cstdio>
using namespace std;
const int mod=666013;
vector <int> v[666013];
void adauga(int x)
{
int a,i;
a=x%mod;
for(i=0; i<v[a].size(); i++)
if(x==v[a].at(i)) return;
v[a].push_back(x);
}
void sterge(int x)
{
int a,i;
a=x%mod;
for(i=0; i<v[a].size(); i++)
if (x==v[a].at(i))
{
v[a][i]=v[a][v[a].size()-1];
v[a].pop_back();
return;
}
}
bool cauta(int x)
{
int a,i;
a=x%mod;
for(i=0; i<v[a].size(); i++)
if(x==v[a].at(i)) return 1;
return 0;
}
int main()
{
int n,x,y,i;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&n);
for(i=1 ; i<=n; i++)
{
scanf("%d%d",&x,&y);
if(x==1)adauga(y);
else if(x==2) sterge(y);
else if (x==3) printf("%d\n",cauta(y));
}
return 0;
}