Автор: | И. Блинов | Ограничение времени: | 2 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Паулундра играет в многопользовательский шутер Counter-rant. Совсем недавно в игре стартовал новый сезон боевого пропуска в котором можно получить n из m доступных скинов для оружия. Система открытия скинов несколько необычная: игроку даётся n рун в каждую руну нужно вставить два кристалла цвета которых фиксированы, после чего если руна подходит к оружию, то оружие открывается. Руна подходит к оружию, если оружие содержит оба цвета содержащиеся в руне. Каждое оружие содержит в себе ровно C цветов.
Боевой пропуск состоит из k уровней. За каждый уровень боевого пропуска даётся ровно одни кристалл, для каждого уровня награда известна заранее. За достижение уровня i наградой будет кристалл с цветом ai. Игрок использует кристалы и руны по своему усмотрению. Так как зарабатывать уровни довольно тяжело, Паулундра хочет узнать какое минимальное количество уровней боевого пропуска она должна открыть для того чтоб получить хотя бы p скинов, при условии, что она будет оптимально распределять кристалы и руны.
Первая строка входных данных содержит пять чисел m, C, n, p и k. Далее следует m строк содержащих по C чисел cij описывающих цвета оружия с номером i. Следующие n строк содержат по два числа ai1 и ai2 — описания рун. Последняя строка входного содержит k числе Si, где Si цвет кристалла за получения уровня i.
Выведите одно целое число — минимальное количество уровней, которое необходимо получить для открытия хотя бы p скинов. Если p скинов открыть невозможно выведите -1.
1 ≤ m ≤ 100
2 ≤ C ≤ 10
1 ≤ n, p ≤ 10
1 ≤ k ≤ 106
1 ≤ ai1, ai2, Si, cij ≤ 109
ai1 ≠ ai2
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|