output_description: For each "extract" operation, print the element extracted from the priority
  queue $S$ in a line.
input_description: Multiple operations to the priority queue $S$ are given. Each operation is
  given by "insert $k$", "extract" or "end" in a line. Here, $k$ represents an
  integer element to be inserted to the priority queue.
  
  The input ends with "end" operation.
attempt: a = []
  while True:
      x = input().split()
      if x[0] == "end":
          quit()
      elif x[0] == "insert":
          a.append(x[1])
          a.sort(reversed=True)
      else:
          print(a[0])
          del a[0]
  
problem_description: Priority Queue
  
  A priority queue is a data structure which maintains a set $S$ of elements,
  each of with an associated value (key), and supports the following operations:
  
    * $insert(S, k)$: insert an element $k$ into the set $S$
    * $extractMax(S)$: remove and return the element of $S$ with the largest key
  
  Write a program which performs the $insert(S, k)$ and $extractMax(S)$
  operations to a priority queue $S$. The priority queue manages a set of
  integers, which are also keys for the priority.
samples: [{"input": "insert 8\n    insert 2\n    extract\n    insert 10\n    extract\n    insert 11\n    extract\n    extract\n    end", "output": "8\n    10\n    11\n    2"}]