Редактор "Лапоть" поддерживает пять операций:
-
Добавить(S) -- в конец текущей строки (исходно пустая) добавляется строка S;
-
Удалить(N) -- удалить N символов из конца текущей строки;
-
Выдать(i) -- выдать i-й символ текущей строки (индексация начинается с нуля) в формате строки (строковый тип). Если индекс за пределами строки, возвращайте пустую строку;
-
Undo() -- отмена последней операции 1 или 2; отмена должна уметь выполняться при необходимости неограниченное число раз;
-
Redo() -- выполнить заново последнюю отменённую с помощью Undo операцию; Redo должна уметь выполняться при необходимости неограниченное число раз. Если после Undo выполняется операция 1 или 2, то -- предыдущая цепочка операций для Undo обнуляется (откатить можно только последнюю операцию 1 или 2); -- Redo более становится нечего отказывать.
Лапоть должен информировать о случаях некорректного задания команды.
На вход редактора подаётся одна строка, первый символ которой -- номер операции (1-4) и через пробел, при необходимости, параметр соответствующей операции.