//用TreeMap实现双端优先队列。TreeMap默认key自然排序。 //查询最大用lastKey,查询最小firstKey。 //删除时value--,value==0时,删除key。 //字节流出入输出节省时间。 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); PrintWriter pw=new PrintWriter(System.out); StreamTokenizer st=new StreamTokenizer(br); st.nextToken(); int N=(int)st.nval; TreeMap<Integer,Integer> tm=new TreeMap<>(); while(N-->0){ st.nextToken(); int temp=(int)st.nval; switch(temp){ case 1: st.nextToken(); int n=(int)st.nval; tm.put(n,tm.getOrDefault(n,0)+1); break; case 2: pw.println(tm.firstKey()); break; case 3: pw.println(tm.lastKey()); break; case 4: int key=tm.firstKey(); int value =tm.get(key)-1; if(value==0){ tm.remove(key); }else{ tm.put(key,value); } break; case 5: int key0=tm.lastKey(); int value0 =tm.get(key0)-1; if(value0==0){ tm.remove(key0); }else{ tm.put(key0,value0); } break; } } pw.flush(); } }