Задача №112508. Колода карт

Напишите программу, которая моделирует колоду игральных карт. Сначала колода пуста. Затем выполняются команды, записанные в файле input.txt . Всего используется четыре команды:

+<карта> – добавить карту на верх колоды

^ – снять верхнюю карту колоды

#<карта> – добавить карту на дно колоды

/ – удалить нижнюю карту колоды

Требуется определить, какие карты останутся в колоде после выполнения всех команд. Если во время работы произошла ошибка (удаляется карта из пустой колоды или добавляется карта, которая уже есть в колоде), нужно вывести слово 'ERROR'.

Входные данные

Входные строки файла input.txt содержат команды для управления колодой, по одной в каждой строка. Добавляемая карта обозначается кодом, состоящим из масти и ранга карты:

<масть><ранг>

Масть – это одна буква из следующего набора: 'C' (трефы, Clubs ), 'S' (пики, Spades ), 'H' (червы, Hearts ) и 'D' (бубны, Diamonds ).

Ранг карты тоже обозначается одним знаком:

A – туз ( Ace )

2-9 – карты ранга от 2 до 9 обозначаются цифрой

T – десятка ( ten )

J – валет ( Jack )

Q – дама ( Queen )

K – король ( King )

Выходные данные

Программа должна вывести в файл output.txt коды всех карт, содержащихся в колоде, в одну строчку через пробел, начиная с верхней карты. Если произошла ошибка, нужно вывести слово 'ERROR'. Если колода пуста, нужно вывести слово 'EMPTY'.

Примеры
Входные данные
+CA
+SJ
+H8
^
#HK
/
Выходные данные
SJ CA
Входные данные
+CA
+SJ
+H8
^
#HK
/
^
/
Выходные данные
EMPTY
Сдать: для сдачи задач необходимо войти в систему