Monk was asked to answer some queries in an interview. He is given an empty array A. Queries are of 4 types:-
1. 1 X - Add number X to the array A.
2. 2 X - Remove a single instance of number X from the array A. If not possible, print "-1" without the quotes.
3. 3 - Find the maximum element in the array A.
4. 4 - Find the minimum element in the array A.  

Input:
The first line contains the integer Q.
The next Q lines will each contain a query like the ones mentioned above.

Output: 
For queries 3 and 4, print the answer in a new line. If the array is empty for query 3 and 4, then print "-1" without the quotes.

Constraints:
1 ≤ Q ≤ 100000
1 ≤ X ≤ 100000

SAMPLE INPUT
5
1 5
1 9
1 6
3
2 1

SAMPLE OUTPUT
9
-1

Explanation

There are 5 queries.
Query 1 - 5 is added to the array.
Query 2 - 9 is added to the array.
Query 3 - 6 is added to the array.
Query 4 - The maximum element in the array is 9.
Query 5 - Since there is no element in the array with value 1, so the output is -1.
a = []
maxa = 0
mina = 100001
for _ in range(int(raw_input())):
	b = raw_input().split()
	if b[0] == "1":
		x = int(b[1])
		a.append(x)
		maxa = max(maxa, x)
		mina = min(mina, x)
	elif b[0] == "2":
		x = int(b[1])
		if x in a:
			a.remove(x)
			if len(a):
				if x == maxa:
					maxa = max(a)
				elif x == mina:
					mina = min(a)
			else:
				maxa = 0
				mina = 100001
		else:
			print -1
	elif b[0] == "3":
		print maxa if len(a) else -1
	else:
		print mina if len(a) else -1