eolymp
bolt
Try our new interface for solving problems
Problems

Алхимия

Алхимия

Известны \textbf{K} видов веществ и \textbf{N} типов алхимических реакций. Каждая реакция по набору входных веществ продуцирует набор выходных. Проведение каждой реакции требует фиксированного времени. Любые вещества, полученные в результате реакций, можно выделять в чистом виде для отдельного использования. Каждого вещества всегда достаточно для любого использования. Вещество, полученное в результате только что закончившейся реакции, можно сразу же использовать в других реакциях. Реакции могут проходить одновременно. Напишите программу ALCHEMY, которая по информации об известных веществах и реакциях определяет за какое наименьшее время можно получить целевое вещество. \InputFile Первая строка входного файла содержит четыре целых числа: \textbf{K} (\textbf{3} ≤ \textbf{K} ≤ \textbf{250}) --- количество веществ, \textbf{N} (\textbf{3} ≤ \textbf{N }≤ \textbf{500}) --- количество реакций, \textbf{M} (\textbf{1} ≤ \textbf{M} < \textbf{K}) --- количество имеющихся сначала веществ, а также номер целевого вещества. Далее следуют \textbf{N} блоков, которые описывают реакции. Каждый блок состоит из трех строк: первая содержит натуральное число --- время, необходимое для проведения реакции, вторая строка --- количество веществ, которые вступают в реакцию, и перечень этих веществ, третья строка --- количество веществ, которые образовываются в результате реакции, и их перечень. Вещества, имеющиеся сначала, имеют номера от \textbf{1} до \textbf{M}, а все остальные --- от \textbf{M+1} до \textbf{K}. Сумма времен проведения всех реакций не превышает \textbf{2∙10^9}. \OutputFile Единственная строка выходного файла должна содержать целое число --- найденное минимальное время, за которое может быть получено целевое вещество. Если получить целевое вещество невозможно, единственная строка выходного файла должна содержать число \textbf{-1}. Для приведенного примера входных данных, целевое вещество \textbf{4} можно получить, если на протяжении первых трех единиц времени провести реакцию \textbf{2}, а после этого на протяжении двух единиц времени провести реакцию \textbf{3}. Таким образом, за \textbf{5} единиц времени будет получено требуемое вещество.
Time limit 1 second
Memory limit 64 MiB
Input example #1
4 3 1 4
8
1 1
1 4
3
1 1
2 2 3
2
2 1 3
1 4
Output example #1
15