함께 걷는 가장 긴 길

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

문제

페르와 폴은 친구라서 자주 같이 다닌다. 둘 다 성격이 급해서 어디를 가든 항상 가장 빠른 길로만 간다.

수업이 끝나 집에 갈 시간이 됐다. 두 사람은 각자 집에 최대한 일찍 도착하고 싶고, 그러면서 함께 걷는 시간은 최대한 길게 만들고 싶다.

동네는 교차로가 정점이고 도로가 간선인 그래프로 나타낸다. 도로는 양방향이고, 어느 쪽으로 지나든 걸리는 시간이 같다. 학교와 두 사람의 집은 모두 교차로에 있으며, 세 위치는 서로 다르다. 어떤 두 교차로 사이에도 경로가 존재한다.

두 사람은 같은 순간에 학교를 떠나 각자 자기 집으로 가는 최단 경로를 하나씩 고른다. 두 경로를 잘 골라서, 두 경로에 모두 들어 있는 연속된 도로 구간의 총 소요 시간을 최대로 만들어라. 그 시간을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다.

각 테스트 케이스의 첫째 줄에는 교차로의 개수 NN과 양방향 도로의 개수 MM이 주어진다. 둘째 줄에는 학교, 페르의 집, 폴의 집이 있는 교차로 번호 SS, PP, QQ가 주어진다. 이어지는 MM개의 줄에는 세 정수 aia_i, bib_i, cic_i가 주어지고, 이는 교차로 aia_ibib_i를 잇고 지나는 데 cic_i분이 걸리는 양방향 도로가 있다는 뜻이다. 교차로 번호는 00부터 N1N-1까지다.

  • 0<T1000 < T \le 100
  • 3N20003 \le N \le 2000
  • N1Mmin(N(N1)/2,10000)N - 1 \le M \le \min(N(N-1)/2, 10000)
  • 0ai<bi<N0 \le a_i < b_i < N
  • 0<ci10000 < c_i \le 1000
  • 0S,P,Q<N0 \le S, P, Q < N이고 SS, PP, QQ는 서로 다르다
  • 같은 두 교차로를 잇는 도로는 많아야 하나이고, 모든 교차로는 서로 연결되어 있다

출력

각 테스트 케이스마다 두 사람이 각자 집에 가장 빨리 도착하면서 함께 걸을 수 있는 가장 긴 구간의 길이를 한 줄에 출력한다. 두 경로가 공유하는 도로가 하나도 없으면 00을 출력한다.