조작된 도로
시간 제한2초메모리 제한512 MB
연결된 그래프와 신장 트리 R이 주어질 때, R만 최소 신장 트리가 되도록 1부터 E까지의 간선 가중치를 정합니다. 가중치 배열은 사전순으로 가장 작아야 합니다.
문제
Silvermill은 최근 예산이 빠듯하고, 시장 Peanut은 유지보수 비용을 아끼려고 도로 일부를 철거할 계획이다. Silvermill에는 개의 교차로와 이들을 잇는 개의 도로가 있다. 번째 도로는 교차로 와 를 잇는다. 교차로에는 , 도로에는 의 번호가 붙어 있다. 어떤 두 교차로든 직접 또는 간접적으로 오갈 수 있으며, 두 도로가 같은 양 끝점을 공유하지 않는다.
Peanut은 도로의 유지보수 비용을 평가해 달라고 너에게 일을 맡겼다. 과제는 의 순열 를 보고하는 것이다. 여기서 는 번째 도로를 유지하는 비용이다.
이후 Peanut은 모든 교차로가 연결된 상태를 유지하면서 남기는 도로의 비용 합이 최소가 되도록 도로를 고른다. 다시 말해 Peanut은 네가 정한 가중치를 기준으로 최소 신장 트리를 남긴다. 비용이 모두 다르므로 최소 신장 트리는 하나뿐이다.
너에게는 숨은 목적이 있다. Peanut이 스패닝 트리를 이루는 도로 집합 을 남기기를 원하며, 를 신중하게 정하면 이를 이룰 수 있다. 도시의 최소 신장 트리가 이 되도록 하는 사전순으로 가장 작은 순열 를 구하라.
가 보다 작다는 것은, 인 어떤 에 대해 이고 모든 에 대해 인 것을 뜻한다.
입력
입력은 표준 입력으로 받는다. 첫 줄에는 두 정수 과 가 주어진다. 이어지는 개의 줄에는 도로 를 나타내는 두 정수 와 가 주어진다. 마지막 줄에는 에 속한 도로의 번호 개가 주어진다.
출력
출력은 표준 출력으로 한다. 을 최소 신장 트리로 만드는 사전순 최소 순열 를 한 줄에 개의 정수로 출력한다.
제한
에 속한 도로만으로 임의의 두 교차로 사이를 오갈 수 있다.