Артефакты

아직 제출이 없습니다시간 제한1.5초메모리 제한1024 MB

문제

Рик и Морти обнаружили в другом измерении карту планеты, на которой изображены nn пунктов раскопок, соединенных тропинками. Тропинка с номером ii соединяет пункты с номерами u_iu\_i и v_iv\_i и имеет длину c_ic\_i.

Разумеется, Рик сразу заметил, что количество тропинок равняется в точности n1n - 1, и из любого пункта можно добраться до любого другого. Иными словами, структура дорог и пунктов представляет из себя дерево, но для Морти это определение слишком сложное, поэтому Рик оставил Морти изучать теорию графов, а сам отправился исследовать это измерение.

Инопланетный информатор сообщил ему, что всего существует kk видов артефактов, и в пункте номер ii хранится артефакт вида a_ia\_i. Так очень удачно совпало, что у Рика очередное соревнование с одним из известных расхитителей космических гробниц, и для победы Рику нужно собрать все kk различных видов артефактов.

Одной из проблем является то, что внутри этого измерения не работают никакие продвинутые технологии. Поэтому Рик может заранее создать порталы в запланированных стартовом и конечном пункте маршрута, а вот остальной маршрут придется пройти пешком. Чтобы сэкономить свое время, Рик хочет заранее выбрать стартовый пункт, конечный пункт и сам путь (не обязательно простой) так, чтобы пройденное им расстояние было минимальным, и при этом на пути он бы собрал все различные виды артефактов.

Рик, конечно, и сам может справиться с поиском такого кратчашего пути, но, может быть, у вас есть время заняться этим, пока он собирает всю необходимую для путешествия экипировку?

입력

В первой строке через пробел даны два целых числа nn и kk (2n1052 \leqslant n \leqslant 10^5; 1k61 \leqslant k \leqslant 6) --- количество пунктов и необходимое количество артефактов.

В следующей строке через пробел даны nn целых чисел a_ia\_i --- виды артефактов в каждом пункте (0a_ik0 \leqslant a\_i \leqslant k). В случае, если a_i=0a\_i = 0, считается, что в вершине не хранится никакой из видов артефактов.

В следующих n1n - 1 строках даны тройки целых чисел u_iu\_i, v_iv\_i, c_ic\_i, обозначающие наличие тропинки длины c_ic\_i между пунктами u_iu\_i и v_iv\_i (1u_i,v_in1 \leqslant u\_i, v\_i \leqslant n; 1c_i1091 \leqslant c\_i \leqslant 10^9). Гарантируется, что структура графа представляет из себя дерево.

출력

В случае, если невозможно собрать kk различных видов артефактов, выведите <<-1>> (без кавычек), иначе сообщите минимальное расстояние, которое придется пройти, чтобы собрать все виды артефактов.

힌트

В первом примере одним из оптимальных путей будет 132341 \to 3 \to 2 \to 3 \to 4.

В втором примере у нас нет пункта, в котором находится артефакт под номером 55, а значит невозможно собрать все пять артефактов.

В третьем примере одним из оптимальных путей будет 2342 \to 3 \to 4.