#D7665. Priority Queue
Priority Queue
Priority Queue
A priority queue is a data structure which maintains a set of elements, each of with an associated value (key), and supports the following operations:
- : insert an element into the set
- : remove and return the element of with the largest key
Write a program which performs the and operations to a priority queue . The priority queue manages a set of integers, which are also keys for the priority.
Constraints
- The number of operations
Input
Multiple operations to the priority queue are given. Each operation is given by "insert ", "extract" or "end" in a line. Here, represents an integer element to be inserted to the priority queue.
The input ends with "end" operation.
Output
For each "extract" operation, print the element extracted from the priority queue in a line.
Example
Input
insert 8 insert 2 extract insert 10 extract insert 11 extract extract end
Output
8 10 11 2
inputFormat
Input
Multiple operations to the priority queue are given. Each operation is given by "insert ", "extract" or "end" in a line. Here, represents an integer element to be inserted to the priority queue.
The input ends with "end" operation.
outputFormat
Output
For each "extract" operation, print the element extracted from the priority queue in a line.
Example
Input
insert 8 insert 2 extract insert 10 extract insert 11 extract extract end
Output
8 10 11 2
样例
insert 8
insert 2
extract
insert 10
extract
insert 11
extract
extract
end
8
10
11
2
</p>