const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
  let arr=[],time = +(await readline());
  for(let i=0;i<time;i++){
    let line=String(await readline());
    switch(line[0]){
      case '1':arr.push(+line.split(' ')[1]);break;
      case '2':console.log(Math.min(...arr));break;
      default: arr.splice(arr.indexOf(Math.min(...arr)),1);break;
    }
  }
}()