Cod sursa(job #806207)
#include <fstream>
#include <vector>
using namespace std;
#define m 666013
ifstream in("hashuri.in");
ofstream out("hashuri.out");
vector <int> v[m];
void add(int x)
{
const int mod = x%m;
int i;
for (i=0;i<v[mod].size();i++)
if (v[mod][i] == x) return;
v[mod].push_back(x);
}
void del(int x)
{
const int mod = x%m;
int i;
for (i=0;i<v[mod].size();i++)
if (v[mod][i] == x)
{
v[mod][i] = v[mod].back();
v[mod].pop_back();
return;
}
}
int search(int x)
{
const int mod = x%m;
int i;
for (i=0;i<v[mod].size();i++)
if (v[mod][i] == x) 0;
return 1
}
int main()
{
int n, i, c, x;
in>>n;
for (i=0;i<n;i++)
{
in>>c>>x;
switch (c)
{
case 1: add(x); break;
case 2: del(x); break;
case 3: out<<search(x)<<"\n"; break;
}
}
return 0;
}