eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Минимум на стеке

Минимум на стеке

Лимит времени 3 секунды
Лимит использования памяти 128 MiB

Вам требуется реализовать структуру данных, выполняющую следующие операции:

  1. Добавить элемент x в конец структуры.

  2. Удалить последний элемент из структуры.

  3. Выдать минимальный элемент в структуре.

Входные данные

В первой строке задано количество операций n\:(1 \le n \le 10^6). Каждая из следующих n строк содержит одну операцию. В i-ой строке находится число t_i — тип операции:

  • 1 если операция добавления;

  • 2 если операция удаления;

  • 3 если операция нахождения минимума;

В случае операции добавления после типа записано целое число x\:(-10^9 \le x \le 10^9) — элемент, который следует добавить в структуру. Гарантируется, что перед каждой операцией удаления или нахождения минимума структура не пуста.

Выходные данные

Для каждой операции нахождения минимума выведите в отдельной строке одно число — минимальный элемент в структуре.

Пример

Входные данные #1
8
1 2
1 3
1 -3
3
2
3
2
3
Выходные данные #1
-3
2
2