사과 배달

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

베시(Bessie)는 잘 익은 빨간 사과 두 개를 무리에 있는 두 친구에게 배달하려고 합니다.

목장(pasture)은 $1$번부터 $P$번까지 번호가 매겨져 있으며 ($1 \le P \le 100{,}000$), 이 목장들은 $C$개의 양방향 소길(cowpath)로 연결되어 있습니다 ($1 \le C \le 200{,}000$). 각 소길은 서로 다른 두 목장 $P1_i$와 $P2_i$를 잇고, 길이 $D_i$를 가집니다. 한 목장에서 자기 자신으로 이어지는 소길은 없습니다. 모든 소길 길이의 합 $\sum D_i$는 $2{,}000{,}000{,}000$을 넘지 않습니다. 또한 임의의 목장에서 다른 임의의 목장으로 항상 이동할 수 있습니다.

베시는 목장 $PB$에서 출발하여, 서로 다른 두 목장 $PA1$과 $PA2$를 어떤 순서로든 모두 방문하여 사과 두 개를 배달해야 합니다. 세 목장 $PB$, $PA1$, $PA2$는 모두 서로 다릅니다. 이동 중에는 이미 지난 목장이나 소길을 다시 지나갈 수 있으며, 이동 거리는 지나간 모든 소길의 길이를 더한 값입니다.

베시가 사과 두 개를 모두 배달하기 위해 이동해야 하는 최소 총 거리를 구하세요.

아래는 대괄호로 표시한 목장 번호와 각 소길 및 그 길이를 나타낸 지도의 예시입니다.

                3        2       2
           [1]-----[2]------[3]-----[4]
             \     / \              /
             7\   /4  \3           /2
               \ /     \          /
               [5]-----[6]------[7]
                    1       2

입력

첫째 줄에 공백으로 구분된 다섯 정수 $C$, $P$, $PB$, $PA1$, $PA2$가 주어집니다.

이어지는 $C$개의 줄 중 $i$번째 줄에는 소길 $i$가 잇는 두 목장과 그 길이를 나타내는 세 정수 $P1_i$, $P2_i$, $D_i$가 주어집니다.

출력

베시가 사과 두 개를 모두 배달하기 위해 이동해야 하는 최소 총 거리를 한 줄에 출력합니다.