Черновик состоит из последовательности строк и изначально пуст. Для простоты каждая строка содержит одно слово без пробелов. APPEND добавляет строку в конец. UNDO отменяет последнее неотменённое добавление. REDO возвращает последнее отменённое добавление. Новая команда APPEND после отмены полностью очищает возможность повторения старых отменённых добавлений.
APPEND word
UNDO
REDO
PRINT
COUNT
Первая строка содержит q. Далее идут q команд, по одной в строке. Одинаковые слова могут встречаться в разных строках.
Для каждой команды выведите ответ из таблицы. PRINT выводит слова черновика в порядке строк через один пробел. Неуспешные UNDO и REDO, а также PRINT и COUNT, не меняют ни черновик, ни историю.
Не выводите приглашения к вводу и пояснения. Служебные слова в ответах пишите в указанном регистре.
1 ≤ q ≤ 100000; слово содержит 1–20 строчных латинских букв. Суммарное количество слов во всех ответах PRINT не превышает 200000.
10 APPEND alpha APPEND beta UNDO PRINT REDO PRINT UNDO APPEND gamma REDO PRINT
OK OK OK alpha OK alpha beta OK OK EMPTY alpha gamma
8 UNDO REDO APPEND x UNDO COUNT REDO PRINT COUNT
EMPTY EMPTY OK OK 0 OK x 1
3000 ms 256 Mb Правила оформления программ и список ошибок при автоматической проверке задач