고대의 보물이 묻힌 동굴이 발견되었다. 보물의 가치는 어마어마해서, 한 번만 탐사에 성공해도 세계 최고의 부자가 될 만하다. 운 좋은 고고학 회사 하나가 탐사 작업 전체를 맡았고, 당신은 그 회사의 인턴이다.
지금까지의 진척은 다음과 같다.
당신은 가영이 프로젝트 초기에 고용한 기술자이다. 이제 나희가 수치화한 이익에 따라 어느 동굴을 탐사해야 이익이 가장 큰지 계산해야 한다. 동굴을 넓히거나 탐사하는 데 드는 추가 비용은 다미와 라라가 이미 계산해 두었다. 동굴 지도는 아영을 리더로 한 탐사대가 완성했으므로 정확도는 100%이다.
탐사는 언제나 입구 역할을 하는 1번 동굴에서 시작한다. 1번 동굴을 탐사하지 않고 다른 동굴에 들어가는 것은 불가능하다. 어떤 동굴의 탐사를 끝낸 뒤 장비를 더 얕은 동굴로 되돌릴 추가 장비는 마리의 결정으로 들이지 않았다. 그래서 한 동굴에 들어가면 그 동굴보다 깊이 있으면서 직접 연결된 동굴로만 탐사를 이어갈 수 있다. 탐사 경로는 1번 동굴에서 출발해 점점 깊어지는 한 줄기 길이 된다.
동굴 i를 탐사하면 vi만큼의 이익을 얻는다. 동굴 a에서 직접 연결된 동굴 b로 넘어가려면 동굴을 넓히고 장비를 옮기는 데 c만큼의 비용이 든다. 총 이익은 탐사한 동굴의 가치 합에서 지나간 통로의 비용 합을 뺀 값이다. 탐사는 어느 동굴에서든 그만둘 수 있고, 1번 동굴만 탐사하고 끝내도 된다.
모든 동굴은 1번 동굴에서 도달 가능하다.
첫 줄에 테스트 케이스의 수 T가 주어진다. (1≤T≤10)
각 테스트 케이스의 첫 줄에 탐사할 수 있는 동굴의 수 N과 서로 직접 연결된 동굴 쌍의 수 E가 주어진다. (1≤N≤2×104, 0≤E≤105)
다음 줄에 N개의 정수 v1,v2,…,vN이 주어진다. vi는 동굴 i를 탐사해서 얻는 보물의 가치이다. (0≤vi≤104)
이어지는 E개의 줄에 세 정수 ae, be, ce가 주어진다. 동굴 ae가 동굴 be와 직접 연결되어 있고, 동굴을 넓혀 작업 장비를 be로 들여놓는 데 ce만큼의 비용이 든다는 뜻이다. (1≤ae,be≤N, 0≤ce≤104)
입력에서 be는 항상 ae보다 깊이 있는 동굴이다. 동굴 번호는 깊이 순서와 일치하지 않는다. 같은 동굴 쌍이 비용만 다른 채로 여러 번 주어질 수 있다.
탐사의 시작은 항상 1번 동굴이고, 모든 동굴은 1번 동굴에서 도달 가능하다.
각 테스트 케이스마다 두 줄을 출력한다.
첫 줄에는 탐사로 얻을 수 있는 최대 이익과, 그 이익을 얻을 때 탐사한 동굴의 수를 공백으로 구분해 출력한다.
둘째 줄에는 그 이익을 얻는 탐사 경로를 방문 순서대로 공백으로 구분해 출력한다.
최대 이익을 얻는 경로가 여러 개라면 동굴 번호 수열이 사전순으로 가장 앞서는 경로를 출력한다. 두 수열을 비교할 때는 앞에서부터 번호를 차례로 견주고, 한쪽이 다른 쪽의 앞부분과 완전히 같다면 짧은 쪽이 앞선다.