Priority Queue
Priority queue is a container of elements which the element with the highest priority should be extracted first.
For n priority queues Qi (i=0,1,...,n−1) of integers, perform a sequence of the following operations.
insert(t, x): Insert x to Qt.
getMax(t): Report the maximum value in Qt. If Qt is empty, do nothing.
deleteMax(t): Delete the maximum element from Qt. If Qt is empty, do nothing.
In the initial state, all queues are empty.
The input is given in the following format.
n q
query1
query2
:
queryq
Each query queryi is given by 0 t x or 1 t or 2 t where the first digits 0, 1 and 2 represent insert, getMax and deleteMax operations respectively. 1≤n≤1,000 1≤q≤200,000 −1,000,000,000≤x≤1,000,000,000
2 10
0 0 3
0 0 9
0 0 1
1 0
2 0
1 0
0 0 4
1 0
0 1 8
1 1
9
3
4
8