Загрузка данных


# =====================================================================
# КОД СТУДЕНТА А (Работа со стеком отмены действий)
# =====================================================================

def push_action(stack, action):
    """Добавление действия в конец стека."""
    stack.append(action)


def undo_action(stack):
    """Удаление и возврат последнего действия. Если стек пуст — возврат None."""
    if not stack:
        return None
    return stack.pop()


def get_history(stack):
    """Возврат независимой копии стека действий."""
    return stack.copy()


# =====================================================================
# КОД СТУДЕНТА Б (Работа с очередью заказов)
# =====================================================================

def add_order(queue, order):
    """Добавление нового заказа в конец очереди."""
    queue.append(order)


def process_order(queue):
    """Извлечение и обработка первого заказа (FIFO). Если очередь пуста — возврат None."""
    if not queue:
        return None
    return queue.popleft()


def peek_order(queue):
    """Просмотр первого заказа в очереди без его удаления. Если очередь пуста — возврат None."""
    if not queue:
        return None
    return queue[0]