import sys
import heapq
def solve():
    try:
        line=sys.stdin.readline()
        if not line:
            return
        n=int(line.strip())
    except ValueError:
        return
    
    heap=[]
    for _ in range(n):
        line=sys.stdin.readline().strip()
        if not line:
            continue
        parts=list(map(int,line.split()))
        op=parts[0]

        if op==1:
            x=parts[1]
            heapq.heappush(heap,x)
        elif op==2:
            if heap:
                print(heap[0])
        elif op==3:
            if heap:
                heapq.heappop(heap)


if __name__=="__main__":
    solve()