가중 무방향 그래프와 두 정점 s, t가 주어질 때, s와 t가 분리되도록 삭제할 간선들의 총 가중치 최솟값을 구한다.
정점 nnn개와 간선 mmm개로 이루어진 무방향 그래프가 주어진다. 각 간선에는 가중치가 있다.
간선 목록에 있는 간선을 하나씩 골라 그래프에서 지워 나간다. 두 정점 sss와 ttt가 비연결이 되는 순간 지우기를 멈춘다. 비연결이란 남은 간선만으로는 한 정점에서 다른 정점으로 갈 수 없는 상태를 말한다.
지우는 순서는 마음대로 정할 수 있다. sss와 ttt가 비연결이 될 때까지 지운 간선의 가중치 합이 최소가 되도록 순서를 정했을 때, 그 합의 최솟값을 구하라. 처음부터 sss와 ttt가 비연결이면 간선을 하나도 지우지 않아도 되므로 답은 0이다.
첫째 줄에 정점의 개수 nnn과 간선의 개수 mmm이 주어진다. (2≤n≤5002 \le n \le 5002≤n≤500, 1≤m≤100001 \le m \le 100001≤m≤10000)
다음 mmm개 줄에 각각 세 정수 aaa, bbb, ccc가 주어진다. 정점 aaa와 정점 bbb를 잇는 가중치 ccc짜리 간선이 있다는 뜻이다. (1≤a,b≤n1 \le a, b \le n1≤a,b≤n, 1≤c≤1001 \le c \le 1001≤c≤100, a≠ba \ne ba=b) 같은 두 정점을 잇는 간선이 여러 개 주어질 수 있고, 이때 각 간선은 서로 다른 간선으로 취급한다.
마지막 줄에 두 정점 sss와 ttt가 주어진다. (1≤s,t≤n1 \le s, t \le n1≤s,t≤n, s≠ts \ne ts=t)
sss와 ttt가 비연결이 되는 시점까지 지운 간선의 가중치 합의 최솟값을 한 줄에 출력한다.