#include <stdio.h>
#define NV 5 // number of vertices <-- 이것은 고정이니 수정 금지
/*
* 아래 2개 함수를 구현하시오. 전역변수 등은 필요에 따라 선언 가능
*
1) void addEdge (int graph[][NV], int v1, int v2, int w)
- vertex v1과 v2 사이에 weight w인 edge를 추가한다.
- edge는 undirected이다.
2) void MST_BY_PRIM(int graph[][NV], int start_vertex)
- parameter로 주어진 graph에 대한 minimum spanning tree를 start_vertex부터 시작하여 Prim알고리즘으로 구한다.
- MST를 구하는 과정에서, 가장 마지막으로 MST에 추가되는 edge (vertex A와 B 사이)에 대해 A B (A < B)를 출력하시오.
- 예를 들어, vertex 0과 2 사이의 edge가 MST에 마지막으로 추가되면 0 2(끝에 줄바꿈없음)을 출력한다.
*/
// ---------------------- 이하 절대 수정 금지 -----------------------------------
int main(void) {
int v1 = 0;
int v2 = 0;
int w = 0;
int graph[NV][NV] = { 0 };
while (1) {
scanf("%d %d %d", &v1, &v2, &w);
if (v1 < 0) {
break;
}
addEdge(graph, v1, v2, w);
}
MST_BY_PRIM(graph, -v1);
return 0;
}