Морська прогулянка#3647

Морська прогулянка

1 секунда
64 мегабайти
Легка

Є кілька катерів і велика група людей. Для кожного катера відома його місткість і ціна на квиток. Для кожної людини відомо, на яких катерах вона воліла б покататися. Потрібно розподілити людей по катерах на одну морську прогулянку так, щоб сумарна вартість, витрачена на квитки, була мінімальною.

Вхідні дані

Два числа і (1 \le N \le 16, 1 \le K \le 100) - кількість катерів і людей. рядків по два числа в кожному - , (0 \le s \le 100, 0 \le c \le 10^6) - кількість місць у катері та вартість одного квитка. Далі рядків, у кожному з яких дано число - кількість катерів, які підходять поточній людині, після чого слідує список номерів цих катерів. Усі номери в межах від до , кожен номер зустрічається не більше одного разу.

Вихідні дані

Одне число - сумарна вартість однієї прогулянки, або -1, якщо всіх людей розсадити по катерах не вдасться.

Приклади

Приклад 1

Loading
Loading