Given a priority queue (max heap) and Q queries to be performed on priority queue. The task is to perform operations based on queries.
1. p : query to push element (x, given with query) to priority_queue and print size.
2. pp : query to pop element from priority_queue and print size.
3. t : query to return top element of priority_queue, if empty -1 will be printed.
First line of input contains number of testcases T. For each testcase, first line of input contains Q queries. Next Q lines contains Q queries.
For each testcase, perform the required operation, and print if anything required.
YourTask: Your task is to complete the functions push_pq(), pp_pq() and pq_top(), so that the queries are performed.
1 <= T <= 100
1 <= Q <= 100
Testcase 1: Pushing 5, 3, 1 to queue. Now, fetching top which is 1 (according to min heap property smallest element at top). Popping back element from queue, size reduced to 2.