Условие:
Напишите программу моделирующую работу дека, реализовав все указанные здесь методы. В программу передаются функции для работы с деком, в зависимости от их описания они должны возвращать значения или просто обрабатывать дек. Возможные функции для программы:\npush_front(deque, num) - Добавить в начало дека новый элемент. Функция должна вывести ok.\npush_back(deque, num) - Добавить в конец дека новый элемент. Функция должна вывести ok.\npop_front(deque) - Извлечь из дека первый элемент. Функция должна вывести его значение.\npop_back(deque) - Извлечь из дека последний элемент. Функция должна вывести его значение.\nfront(deque) - Узнать значение первого элемента (не удаляя его). Функция должна вернуть его значение.\nback(deque) - Узнать значение последнего элемента (не удаляя его). Функция должна вернуть его значение.\nsize(deque) - Вернуть количество элементов в деке.\nclear(deque) - Очистить дек (удалить из него все элементы) и вернуть объект класса collections.deque.\nexit() - Функция должна вывести bye и завершить работу программы.
Гарантируется, что количество элементов в деке в любой момент не превосходит 100. Перед исполнением операций pop_front(deque), pop_back(deque), front(deque), back(deque) программа должна проверять, содержится ли в деке хотя бы один элемент. Если во входных данных встречается операция pop_front(deque), pop_back(deque), front(deque), back(deque), и при этом дек пуст, то необходимо вернуть/вывести (см. параметры функции) строку error.

