Задача №56. Стек неограниченного размера
Реализуйте структуру данных "стек". Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы.  Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы: 
- push n
 - Добавить в стек число n (значение n задается после команды). Программа должна вывести 
ok. - pop
 - Удалить из стека последний элемент. Программа должна вывести его значение. 
 - back
 - Программа должна вывести значение последнего элемента, не удаляя его из стека. 
 - size
 - Программа должна вывести количество элементов в стеке. 
 - clear
 - Программа должна очистить стек и вывести 
ok. - exit
 - Программа должна вывести 
byeи завершить работу. 
Размер стека должен быть ограничен только размером доступной оперативной памяти. Перед исполнением операций back и pop программа должна проверять, содержится ли в стеке хотя бы один элемент. Если во входных данных встречается операция back или pop, и при этом стек пуст, то программа должна вместо числового значения вывести строку error. 
Вводятся команды управления стеком, по одной на строке
Требуется вывести протокол работы стека, по одному сообщению на строке
push 3 push 14 size clear push 1 back push 2 back pop size pop size exit
ok ok 2 ok ok 1 ok 2 2 1 1 0 bye