Войти и выйти
Молодой пират Вил Твистер потерял драгоценный медальон, который достался ему от отца. Сейчас он находится в руках губернатора Гуза. Так как этот медальон очень дорог Вилу, он решает его украсть. Его присутствие не останется незамеченным (он же не ниндзя), поэтому для увеличения своих шансов на успех он будет использовать покровы ночи. Это означает, что путешествие в губернаторский дом будет также опасным, так как каждый, кто идет через город ночью, является подозрительным.
В городе полно часовых^1, расположенных на стратегически важных перекрестках. Вил не очень хороший боец, поэтому он будет опираться на фактор внезапности и скорости для того чтобы пройти мимо них. Если Вил будет проходить мимо одного и того же часового дважды при движении к и от губернаторского дома, то фактор внезапности исчезнет, и во второй раз прохода имеется очень большой риск быть пойманным. Поэтому он не хочет дважды проходить мимо одного и того же часового.
Путешествие начинается в гавани, куда он прибудет и уедет на лодке. У него имеется карта города, на которой показаны все местоположения часовых. Учитывая, что ему придется много бежать, он хочет найти кратчайший маршрут к и от губернаторского дома, который не проходит дважды мимо любого часового. Можете ли Вы помочь ему найти такой путь?
_______
^1 - часовой - это стационарный охранник.
Входные данные
Первая строка содержит количество тестов. Каждый тест имеет следующий формат:
Первая строка содержит количество перекрестков n и количество дорог r (2 ≤ n ≤ 1000, 1 ≤ r ≤ 10000).
r строк по три числа a, b и l (1 ≤ a, b ≤ n, 1 ≤ l ≤ 1000), задающих двунаправленную дорогу между перекрестками a и b длины l.
Строка содержащая количество перекрестков S (0 ≤ S ≤ min(N-2, 100)).
Строка с S различными целыми числами s_i (2 ≤ s_i < n), указывающими на то что на перекрестке s_i стоит часовой.
Перекрестки пронумерованы от 1 до n. Лодка Вила находится на перекрестке 1, а дом губернатора на перекрестке n. Гарантируется, что путь от лодки до дома губернатора существует.
Выходные данные
Для каждого теста вывести в отдельной строке наименьшее суммарное расстояние, которое следует преодолеть Вилу. Если не существует маршрута, проходящего мимо каждого часового не более одного раза, следует вывести "No safe route" (без кавычек).