Задача F. Сильная связность

Автор:Жюри летних сборов 2009   Ограничение времени:2 сек
Входной файл:aug.in   Ограничение памяти:256 Мб
Выходной файл:aug.out  
Максимальный балл:100  

Условие

Задан ориентированный граф из n вершин и m1 рёбер. Известно, что в графе есть вершины s и t такие, что все вершины достижимы из s, и из всех вершин достижима t. Также на том же множестве вершин задано другое множество рёбер, состоящее из m2 элементов. Рёбрам из этого множества приписаны некоторые целые веса.

Вам необходимо добавить к графу некоторые рёбра из второго множества так, чтобы выполнялись следующие требования:

Формат входного файла

В первой строке находится целое число n. Во второй строке находится целое неотрицательное число m1. Далее в m1 строках находятся описания ребер исходного графа. Каждое ребро задается номерами начала и конца. В следующей строке находится целое неотрицательное число m2. Далее в m2 строках находятся описания ребер, которые можно добавить. Каждое ребро задаётся номерами начала и конца и своим весом — целым числом от 109 до 109, включительно.

Формат выходного файла

В первую строку выведите YES или NO в зависимости от того, существует ли решение задачи. Если решение существует, выведите три строки. В первой из них вывeдите суммарный вес добавленных рёбер. Во второй выведите количество добавленных рёбер. В третьей через пробел выведите номера добавленных рёбер. Рёбра нумеруются с единицы в том порядке, в котором они перечислены во входном файле. Каждое добавленное ребро нужно выводить ровно один раз.

Ограничения

1 ≤ n ≤ 105;

0 ≤ m1 + m2 ≤ 5dot 105

Примеры тестов

Входной файл (aug.in) Выходной файл (aug.out)
1
2
1
1 2
1
2 1 40
YES
40
1
1
2
2
1
1 2
0
NO
3
4
5
1 2
1 3
2 3
2 4
3 4
2
4 2 1
3 1 1
YES
2
2
1 2

0.047s 0.007s 15