Você foi contratado para trabalhar na Fábrica de Geração de Aplicativos (FGA). Todos na FGA estão focados no desenvolvimento de um novo editor de texto, versátil, que funciona como IDE, editor de linguagens de marcação e também um editor de texto.
O gerente de projetos te deu a tarefa de desenvolver a Estrutura de Desfazer do Aplicativo (EDA). O objetivo da EDA é prover, para o editor, o famoso ctrl+z
, ou seja, a funcionalidade de desfazer certas ações.
A demanda é a seguinte: o editor de texto, de tempos em tempos, enviará ao seu módulo EDA o conteúdo que havia em determinado trecho do texto antes das alterações mais recentes do usuário. Caso o usuário deseje desfazer alguma ação, o editor enviará ao seu aplicativo o comando desfazer
, e você deve devolver a alteração mais recente do usuário que você tem armazenada.
Nessa primeira versão do módulo EDA, não há limite para a quantidade de desfazer
que o usuário pode solicitar.
A entrada é composta por várias linhas, sendo que cada linha pode conter:
inserir STR
, sendo STR
a alteração mais recente que o usuário efetuou no editor, de tamanho máximo 100.
desfazer
, caso em que você deve devolver a última alteração do usuário no editor. Caso não haja nenhuma alteração a ser devolvida, você deve devolver a string NULL
.
A entrada termina com EOF
.
Observe o exemplo abaixo.
desfazer
inserir Era uma vez
inserir uma terra muito
inserir distante
desfazer
inserir em que tudo era muito legal.
inserir Mas ai, de
inserir repente
desfazer
desfazer
desfazer
NULL
distante
repente
Mas ai, de
em que tudo era muito legal.