#include <bits/stdc++.h>
using namespace std;
set <int> heap;
int main()
{ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
int N, comanda, v[200001],j=0,x,i;
fin>>N;
for( i = 0; i < N; i++)
{
fin>>comanda;
if(comanda == 1) //comanda inserare
{
fin>>x;
v[++j] = x; //folosim vectorul v pentru a retine al catelea a fost inserat
heap.insert(x);
}
else
if(comanda == 2) //comanda stergere al x lea element inserat
{
fin>>x;
heap.erase(v[x]);
}
else
if (comanda == 3) ///comanda afisare minim
fout<<*(heap.begin())<<endl;
}
return 0;
}