# include # include # include # include # include # include using namespace std; int main() { map q; map ::iterator p; int n,name,num; while(~scanf("%d",&n),n) { if(n==1) { scanf("%d%d",&name,&num); q.insert(pair (num,name));///自动按num从小到大 } else if(n==3)///按num小的输出 { if(q.size()) { p=q.begin();///取第一个 printf("%d\n",p-> second); q.erase(p);///删除 } else printf("0\n"); } else { if(q.size()) { printf("%d\n",q.rbegin()->second);///取最后一个 q.erase(q.find(q.rbegin()->first)); } else printf("0\n"); } } return 0; }