BETA

#### Submissions: 2540 Accuracy: 14.33%

Operations on Binary Min Heap (Function Problem)

Your task is to implement the three methods insertKey,  deleteKey,  and extractMin on a Binary Min Heap

Example

The first line of the input contains an integer 'T' denoting the number of test cases. Then T test cases follow.
First line of each test case contains an integer Q denoting the number of queries .

A Query Q is of 3 Types
1.  1  x  (a query of this type means to insert an element in the min heap with value x )
2.  2  x  (a query of this type means to remove an element at position x from the min heap)
3. 3  (a query like this removes the min element from the min heap and prints it ).

The second line of each test case contains Q queries seperated by space.

Output:
The output for each test case will  be space separated integers having -1  if the heap is empty else the min element of the heap from the stack.
You are required to complete the 3 methods insertKey which takes one argument the value to be inserted , deleteKey which takes one argument the position from where element is to be deleted and extractMin which returns the minimum element in the heap .

Constraints:
1<=T<=100
1<=Q<=100
1<=x<=100

Example:
Input

1
7
1 4 1 2 3 1 6 2 0 3 3

Output
2 6 - 1

Explanation:
In the first test case for query
1 4      the heap will have  {4}
1 2      the heap will be { 2 4 }
3         removes min element from heap ie 2 and prints it now heap is {4}
1 6      inserts 6 to heap now heap is {4 6}
2 0      delete element at position 0 of heap now heap is {6}
3         remove min element from heap ie 6 and prints it  now the heap is empty {}
3         since heap is empty thus no min element exist so -1 is printed .

#### ** For More Input/Output Examples Use 'Expected Output' option **

##### It is recommended to 'Compile & Test' your code before clicking 'Submit'!

Compilation/Execution Result: