EduBrick

J. Стоимость до каждого дата-центра

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

Как классная задача J, но выведите наименьшую стоимость канала до каждого города второй компании — в порядке возрастания номеров городов.

Многоисточниковая Дейкстра из всех городов первой компании даёт это сразу: искомое — просто расстояния до нужных вершин. Второй проход с номерами источников здесь не нужен вовсе.

Формат ввода

Первая строка содержит числа nn (2≤n≤50002 \le n \le 5000) и mm (1≤m≤1051 \le m \le 10^5).

Вторая строка — nn чисел aia_i (0≤ai≤20 \le a_i \le 2). Гарантируется, что есть хотя бы одна единица и хотя бы одна двойка.

Далее идут mm строк: два различных города и стоимость cc (1≤c≤1051 \le c \le 10^5).

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

В первой строке — количество городов второй компании.

Во второй — для каждого из них по возрастанию номера наименьшая стоимость канала или −1-1.

Примеры

ввод
6 7
1 0 1 2 2 0
1 3 3
1 2 4
2 3 3
2 4 2
1 6 5
3 5 6
5 6 1
вывод
2
5 6
ввод
4 2
1 0 0 2
1 3 3
2 4 2
вывод
1
-1
Войдите, чтобы отправлять решения.