Traveling SCCC President

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

문제

숭실대학교 컴퓨터학부 문제해결 소모임 SCCC의 회장인 찬솔이는 대회를 성공적으로 개최하기 위해 학교의 여러 건물에 들려 업무를 보고 있다.

숭실대학교의 캠퍼스는 11번부터 NN번까지 번호가 붙어 있는 NN개의 건물과 서로 다른 두 건물을 연결하고 11번부터 MM번까지 번호가 붙어 있는 MM개의 도로로 구성되어 있다. ii번 도로는 u_iu\_i번 건물과 v_iv\_i번 건물을 연결하고, 이 도로를 이용해 한 쪽 건물에서 다른 쪽 건물로 이동하는데 w_iw\_i분이 걸린다. 모든 건물은 도로를 통해 이어져 있다.

대회를 개최하기 위해서는 NN개의 건물에서 한 번씩 차례대로 회의를 진행해야 한다. 구체적으로, 회의를 진행해야 하는 건물의 순서 A_1,A_2,,A_NA\_1,A\_2,\cdots ,A\_N이 주어진다. ii번째로 진행해야 하는 회의는 A_iA\_i번 건물에서 진행되며, 모든 A_iA\_i는 서로 다르다.

4차 산업혁명이 도래한 21세기에 매번 도로를 통해 이동하는 것은 비효율적이기 때문에, 찬솔이는 순간 이동 장치를 만들었다. 순간 이동 장치를 사용하면 지금까지 방문했던 건물 중 원하는 곳으로 순식간에 이동할 수 있다.

찬솔이는 SS번 건물에서 출발해서 NN개의 회의를 마친 다음 다시 SS번 건물로 돌아와야 한다. 시간이 부족한 찬솔이를 위해 NN개의 회의를 차례대로 모두 마치고 SS번 건물로 돌아오는데 걸리는 최소 시간을 구해주자.

예를 들어 숭실대학교 캠퍼스가 아래 그림과 같은 형태이고 11번 건물에서 출발하며, 1,3,21,3,2번 건물에서 차례대로 회의를 진행해야 한다고 하자.

찬솔이는 먼저 1번 건물에서 회의를 진행한 뒤, 도로를 통해 2번 건물을 거쳐 3번 건물로 이동해서 회의를 진행한다. 이후 순간 이동 장치를 사용해 2번 건물로 이동해 회의를 진행한 뒤, 순간 이동 장치를 써서 1번 건물로 돌아올 수 있다. 이 과정에서 소요되는 총 시간은 3분이다.

입력

첫째 줄에 건물의 개수 NN, 도로의 개수 MM, 출발하는 건물의 번호 SS가 공백으로 구분되어 주어진다.

둘째 줄부터 MM개의 줄에 걸쳐, ii번 도로가 연결하는 두 건물의 번호 u_i,v_iu\_i,v\_i와 도로를 통행하는 데 걸리는 시간 w_iw\_i가 한 줄에 하나씩 공백으로 구분되어 주어진다.

M+2M+2번째 줄에는 NN개의 정수 A_1,A_2,,A_NA\_1,A\_2,\cdots ,A\_N이 주어진다. 이는 ii번째 회의가 A_iA\_i번 건물에서 진행됨을 의미한다.

출력

SS번 건물에서 출발해서 NN개의 회의를 차례대로 마친 다음에 다시 SS번 건물로 돌아오는 데 필요한 최소 시간을 출력한다.

제한

  • 2N2,0002\leq N\leq 2\\, 000
  • N1M5,000N-1\leq M\leq 5\\, 000
  • 1SN1\leq S\leq N
  • 1u_i\<v_iN1\leq u\_i\<v\_i\leq N (1iM)(1\le i\le M)
  • 1w_i5,0001\leq w\_i\leq 5\\, 000 (1iM)(1\le i\le M)
  • AA에는 11부터 NN까지의 정수가 정확히 한 번씩 등장한다.
  • 모든 건물은 도로를 통해 이어져 있다.
  • 입력으로 주어지는 수는 모두 정수이다.