Суперагентское блюдо
시간 제한2초메모리 제한1024 MB
재료마다 구매 가격과 조합 레시피가 주어질 때, 요리를 완성하는 데 드는 최소 비용을 구한다. 불가능하면 -1을 출력한다.
문제
В свободное от приключений и заданий время, агент Джонни Инглиш очень любит готовить. Сегодня он решил приготовить свое фирменное суперагентское блюдо, по своему фирменному рецепту. Однако даже приготовление еды для него --- непростое задание, ведь он категорически не хочет тратить ни одного лишнего цента.
У Инглиша есть список из ингредиентов, необходимых для приготовления желанного блюда. Некоторые из них можно купить в магазине, некоторые приготовить из других ингредиентов, а некоторые можно и купить, и приготовить. Агент посчитал, что из его ингредиентов продается в магазине, а еще из них можно приготовить из других. В магазине все ингредиенты продаются поштучно, и цена также указана за одну штуку. Инглишу срочно нужно понять, какое минимальное количество денег он может потратить, чтобы сходить в магазин, купить все необходимые ингредиенты, а после этого приготовить из них суперагенское блюдо.
Времени на подсчеты у Джонни, конечно же, нет, так как нужно готовиться к новому заданию, поэтому с этой задачей он попросил справиться вас. Помогите ему --- найдите минимальное сумму, которую ему надо потратить, чтобы приготовить суперагентское блюдо, или скажите, что приготовить блюдо невозможно.
입력
В первой строке содержится число --- количество ингредиентов, необходимых для приготовления суперагентского блюда ().
В следующей строке через пробел записаны названий этих ингредиентов , каждое из которых состоит из строчных латинских букв и символов подчеркивания --- ().
В третьей строке содержится число --- количество ингредиентов, которые можно купить в магазине ().
В -й из следующих строк содержится название ингредиента, а затем через пробел его цена (). Гарантируется, что цена за один ингредиент указана не более одного раза.
После этого, в следующей строке записано число --- количество ингредиентов, которые можно приготовить из других ингредиентов ().
В -й из следующих строк сначала записано число , а затем названий ингредиентов, что означает, что одну штуку ингредиента, записанного первым, можно приготовить, взяв по одной штуке каждого из ингредиентов, записанных после него (). Все ингредиентов попарно различны. Денег за выполнение этого действия Инглиш не платит. Гарантируется, что у одного ингредиента может быть не более одного рецепта.
Гарантируется, что суммарное количество различных ингредиентов в одном тесте не превосходит . Также гарантируется, что если ингредиент можно приготовить из ингредиента (в совокупности с еще несколькими ингредиентами), то ингредиент нельзя приготовить из , а также всех ингредиентов, в рецепте которых участвует или приготовленные из него ингредиенты.
출력
В единственной строке выведите минимальную сумму, которую может потратить агент Джонни Инглиш для приготовления своего суперагентского блюда, или -1, если сделать это невозможно.
힌트
В первом примере onion можно купить за условных единиц, pepper можно приготовить из pepper\_red, который можно купить за у.е., tomato\_paste можно сделать из tomato за у.е., mayonnaise купить за 40 у.е.
Во втором примере a и b можно купить за 10 у.е., c приготовить из e и f за у.е.
В третьем примере a нельзя ни купить, ни приготовить (потому что ингредиент d нельзя купить), поэтому суперагентское блюдо приготовить нельзя.