eolymp
bolt
Try our new interface for solving problems
Problems

Стек неограниченного размера

Стек неограниченного размера

Time limit 1 second
Memory limit 256 MiB

Реализуйте структуру данных "стек". Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:

push n

Добавить в стек число n (значение n задается после команды). Программа должна вывести ok.

pop

Удалить из стека последний элемент. Программа должна вывести его значение.

back

Программа должна вывести значение последнего элемента, не удаляя его из стека.

size

Программа должна вывести количество элементов в стеке.

clear

Программа должна очистить стек и вывести ok.

exit

Программа должна вывести bye и завершить работу.

Размер стека должен быть ограничен только размером доступной оперативной памяти. Перед исполнением операций back и pop программа должна проверять, содержится ли в стеке хотя бы один элемент. Если во входных данных встречается операция back или pop, и при этом стек пуст, то программа должна вместо числового значения вывести строку error.

Input data

Описаны в условии. См. также пример входных данных.

Output data

Описаны в условии. См. также пример выходных данных.

Examples

Input example #1
push 2
push 3
push 5
back
size
pop
size
push 7
pop
clear
size
exit
Output example #1
ok
ok
ok
5
3
5
2
ok
7
ok
0
bye