$N$개의 농장이 있고, 농장에는 $1$번부터 $N$번까지 번호가 매겨져 있다($1 \le N \le 1000$). 각 농장에서 소 한 마리씩이 농장 $X$번($1 \le X \le N$)에서 열리는 큰 소 파티에 참석한다. 농장들은 $M$개의 양방향 도로로 연결되어 있으며($1 \le M \le 100{,}000$), 어떤 두 농장 사이도 도로를 따라 항상 오갈 수 있다. $i$번 도로를 지나는 데는 $T_i$($1 \le T_i \le 100$)만큼의 시간이 든다. 두 농장이 두 개 이상의 도로로 직접 연결되어 있을 수도 있다.
모든 소가 농장 $X$번에 모인 뒤, 저마다 파티 선물을 자기 농장에 두고 왔다는 것을 깨달았다. 소들은 파티를 잠시 중단하고 각자 자기 농장으로 돌아가 선물을 챙긴 뒤 다시 농장 $X$번으로 돌아오기로 했다. 모든 소는 자기 농장까지 갔다가 돌아오는 가장 빠른 경로로 이동한다. 파티는 마지막 소가 돌아올 때까지 중단되므로, 중단 시간은 모든 소의 왕복 시간 중 가장 큰 값과 같다. 이 최소 중단 시간은 얼마인가?
첫째 줄에 세 정수 $N$, $M$, $X$가 공백으로 구분되어 주어진다.
다음 $M$개의 줄 중 $i$번째 줄에는 $i$번 도로를 나타내는 세 정수 $A_i$, $B_i$, $T_i$가 공백으로 구분되어 주어진다. 이 도로는 농장 $A_i$번과 농장 $B_i$번을 연결하며, 지나는 데 $T_i$만큼의 시간이 든다.
파티를 중단해야 하는 최소 시간을 정수 하나로 출력한다.
도로가 양방향이므로, 한 소가 농장 $X$번까지 갔다 오는 왕복 시간은 그 소의 농장과 농장 $X$번 사이 최단 거리의 정확히 두 배이다. 따라서 농장 $X$번에서 모든 농장까지의 최단 거리를 한 번의 최단 경로 탐색으로 구한 뒤, 그중 가장 큰 값을 두 배 하면 된다.