#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#define MAXN 200005
#define INFI ((int)1e9+9)
using namespace std;
int aint[MAXN*4];
int poz[MAXN];
void Init(int x,int y,int poz){
int mij;
if(x==y){
aint[poz]=INFI;
return;
}
mij=(x+y)/2;
Init(x ,mij,poz*2 );
Init(mij+1,y ,poz*2+1);
aint[poz]=min(aint[poz*2],aint[poz*2+1]);
}
void Update(int x,int y,int i,int val,int poz){
int mij;
if(y<i || i<x){
return;
}
if(i==x && y==i){
aint[poz]=val;
return;
}
mij=(x+y)/2;
Update(x ,mij,i,val,poz*2 );
Update(mij+1,y ,i,val,poz*2+1);
aint[poz]=min(aint[poz*2],aint[poz*2+1]);
}
int main(){
int n,i,t,val,k,poz;
FILE *fin,*fout;
fin=fopen("heapuri.in","r");
fout=fopen("heapuri.out","w");
fscanf(fin,"%d",&n);
k=1;
Init(1,n,1);
for(i=0;i<n;i++){
fscanf(fin,"%d",&t);
if(t==1){
fscanf(fin,"%d",&val);
Update(1,n,k,val,1);
k++;
}else{
if(t==2){
fscanf(fin,"%d",&poz);
Update(1,n,poz,INFI,1);
}else{
fprintf(fout,"%d\n",aint[1]);
}
}
}
fclose(fin);
fclose(fout);
return 0;
}