Cod sursa(job #799343)
#include<cstdio>
#include<vector>
#define H 100009
using namespace std;
vector<int> a[H];
void find(int x)
{
int r=x%H;
vector<int>::iterator it;
for(it=a[r].begin();it!=a[r].end();it++)
if(*it==x) break;
if(it!=a[r].end()) printf("1\n");
else printf("0\n");
}
void add(int x)
{
int r=x%H;
vector<int>::iterator it;
for(it=a[r].begin();it!=a[r].end();it++)
if(*it==x) break;
if(it==a[r].end()) a[r].push_back(x);
}
void erase(int x)
{
int r=x%H;
vector<int>::iterator it;
for(it=a[r].begin();it!=a[r].end();it++)
if(*it==x) break;
if(it!=a[r].end())
{
*it=a[r].back();
a[r].pop_back();
}
}
int main()
{
int n,i,x,c;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{
scanf("%d %d",&c,&x);
switch(c)
{
case 1:
add(x);
break;
case 2:
erase(x);
break;
default:
find(x);
}
}
return 0;
}