''' ****** Задание 14 из 20 ********* * Главный повар детского сада хочет быстрее определять, какие блюда можно приготовить на обед. У него есть список доступных продуктов и список рецептов. Напишите программу, которая по списку имеющихся продуктов и рецептам определяет, какие блюда можно приготовить. Формат ввода Число продуктов (N), которые имеются в наличии. N строк с названиями продуктов. Число рецептов (M), о которых имеется информация. M блоков строк для каждого из рецептов. В первой строке каждого блока записано название блюда. Во второй — число ингредиентов. Затем перечисляются сами ингредиенты, требуемые для приготовления блюда. Формат вывода Список блюд, которые можно приготовить в алфавитном порядке. Если ни одно из блюд нельзя приготовить, следует вывести «Готовить нечего». Подсказка Сформируйте множество продуктов в наличии. При обработке блюд формируйте множество продуктов для него. Над множествами можно производить операцию first >= second, которая проверяет включение множества second в множество first. Пример 1 Ввод 4 Яблоки Хлеб Варенье Картошка 3 Тосты 2 Хлеб Варенье Яблочный Сок 1 Яблоки Яичница 1 Яйца Вывод Тосты Яблочный Сок ''' if __name__ == "__main__": available_ingredients = [] cookable_dishes = set() ingredients_count = int(input()) for _ in range(ingredients_count): available_ingredients.append(input()) total_dishes = int(input()) for _ in range(total_dishes): dish_name = input() required_ingredients_count = int(input()) can_cook = True for _ in range(required_ingredients_count): if input() not in available_ingredients: can_cook = False if can_cook: cookable_dishes.add(dish_name) if cookable_dishes: for dish in sorted(cookable_dishes): print(dish) else: print('Готовить нечего')