Олимпиадный тренинг

Задача . 16. Откат изменения значения


Задача

Темы:

В редакторе есть числовое поле с начальным значением x. Каждая команда SET сохраняет прежнее значение в историю и устанавливает новое. UNDO восстанавливает последнее сохранённое значение и удаляет соответствующую запись истории. Если история пуста, значение не меняется. GET только читает текущее значение. Даже SET с тем же значением создаёт запись истории.

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

Первая строка содержит q и начальное значение x. Далее идут q команд: SET value, UNDO или GET.

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

После каждой команды выведите текущее значение поля.

Не выводите приглашения к вводу и пояснения. Служебные слова в ответах пишите в указанном регистре.

Ограничения

1 ≤ q ≤ 100000; начальное значение и все value — целые числа от −10⁹ до 10⁹.


Примеры
№Входные данныеВыходные данные
1
7 10
SET 20
SET 30
UNDO
GET
UNDO
UNDO
GET
20
30
20
20
10
10
10
2
6 5
SET 7
SET 7
UNDO
SET 9
UNDO
UNDO
7
7
7
9
7
5
Статистика успешных решений по компиляторам
 Кол-во
C#1
Комментарий учителя