Transport chemikálií
Zadání
Quido s Hugem odvážejí na lodi chemikálie z ostrovního skladu. Chemikálie jsou uskladněny v barelech a v každém barelu je jiný druh chemikálie. Některé dvojice chemikálií nesmějí být z bezpečnostních důvodů skladovány spolu v jedné budově, těmto dvojicím se říká kritické dvojice. Za běžných okolností se na lodi nesmí převážet žádná kritická dvojice. Naštěstí Hugo má licenci bezpečnostního inspektora a pravidla EU říkají, že pokud je na lodi přítomen bezpečnostní inspektor, může loď převážet celkem až D kritických dvojic. Parametr D se vždy určuje podle typu lodi, charakteru chemikálií, ročního období atd.
Za všech okolností ale platí další pravidlo, které říká, že nikdy, ani v přítomnosti bezpečnostního inspektora, nesmí loď převážet takovou trojici chemikálií, v níž je každá dvojice kritická.
Každý barel ma svou určenou známou cenu a Quido s Hugem chtějí při dodržení uvedených pravidel odvézt ze skladu náklad s maximalní cenou. Předpokládáme, že pojedou jen jednou. Chemikálie zůstanou ve svých barelech, žádná další manipulace s nimi se nepředpokládá.
Úloha
Je dána cena každého barelu s chemikálií a seznam kritických dvojic chemikálií. Určete maximální celkovou cenu za barely, které lze odvézt při jedné cestě lodí za podmínek popsaných výše.
Vstup
První řádek obsahuje tři celá čísla N, M, D oddělená mezerou. N představuje počet barelů ve skladu, M představuje počet kritických dvojic chemikálií ve skladu a D je počet povolených kritických dvojic na lodi za přítomnosti bezpečnostního inspektora. Na druhém řádku je uveden seznam cen jednotlivých barelů v pořadí podle rostoucích čísel barelů. Předpokládáme, že jednotlivé barely jsou očíslovány 0, 1, …, N−1. Dalších M řádků obsahuje seznam kritických dvojic chemikálií. Každá dvojice je uvedena na jednom řádku, každá chemikálie je identifikována číslem barelu, v němž je uskladněna. Všechny hodnoty na každém řádku jsou odděleny mezerou.
Platí 1 ≤ N ≤ 30, 0 ≤ D ≤ M. Ceny barelů jsou kladná celá čísla nejvýše rovná 107.