\begin{problem}
{Минимум и максимум}{minmax.in}{minmax.out}{2 секунды}
{64 мегабайта}

Пусть есть мультимножество целых чисел (множество с возможными повторениями).
Необходимо реализовать структуру данных для их хранения, поддерживающую следующие операции:
\t{GetMin}~--- извлечение минимума,
\t{GetMax}~--- извлечение максимума,
\t{Insert(N)}~--- добавление числа в множество.

\InputFile

В первой строке входного файла записано одно целое число $N$
($1 \le N \le 100\,000$)~--- число запросов к структуре.
Затем в~$N$ строках следуют запросы по одному в строке:
\t{GetMin}, \t{GetMax}, \t{Insert(A)}~---
извлечение минимума, максимума и добавление числа $A$
($1 \le A \le 2^{31}-1$).
Запросы корректны, то есть нет операций извлечения для пустого множества. 

\OutputFile

Для каждого запроса \t{GetMin} или \t{GetMax} выведите то число, которое было извлечено.

\Examples

\begin{example}
\exmp{10
Insert(100)
Insert(99)
Insert(1)
Insert(2)
GetMin
GetMax
Insert(1)
GetMin
GetMin
GetMax
}{1
100
1
2
99
}%
\end{example}

\end{problem}
