EduBrick

K. Производство деталей

1000 мс · 256 МБ · всё или ничего

Деталь номер ii изготавливается за pip_i секунд, и для неё нужен заранее готовый набор других деталей. Одновременно делается только одна деталь. За какое наименьшее время можно изготовить деталь номер 1 и в каком порядке для этого делать детали?

Формат ввода

В первой строке - число деталей nn (1≤n≤1051 \le n \le 10^5).

Во второй строке - nn чисел pip_i (1≤pi≤1091 \le p_i \le 10^9).

В следующих nn строках - описание зависимостей: сначала kik_i, затем kik_i номеров деталей, нужных для детали ii. Сумма всех kik_i не превосходит 2⋅1052 \cdot 10^5. Циклических зависимостей нет.

Формат вывода

В первой строке выведите наименьшее время и количество kk деталей, которые придётся изготовить (считая саму деталь 1).

Во второй строке - kk номеров деталей в порядке изготовления. Из всех подходящих порядков выведите лексикографически наименьший.

Примеры

ввод
3
100 200 300
1 2
0
2 2 1
вывод
300 2
2 1
ввод
4
2 3 4 5
2 3 2
1 3
0
2 1 3
вывод
9 3
3 2 1
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.