아름다운 캠퍼스에서 Panda와 친구들은 식사를 하기 위해 만나기로 했습니다. 가는 길에 서로 자유롭게 이야기를 나눌 수 있기 때문에, 그들은 이동하는 동안 함께 시간을 보내는 것을 좋아합니다.
캠퍼스는 $n$개의 정점과 길이를 가진 $m$개의 간선으로 이루어진 연결 무방향 그래프로 모델링됩니다. 모임 장소는 정점 $1$에 위치한 쇼핑몰입니다. $k$명의 친구들이 서로 다른 정점에서 출발하여 쇼핑몰로 이동합니다. 모든 친구들은 같은 속력(단위 시간당 $1$ 단위 거리)으로 이동하며, 간선 위의 임의의 위치에서 이동 방향을 바꿀 수 있습니다(예제 설명 참조).
모든 친구들이 쇼핑몰에 도착할 수 있는 가장 빠른 시각을 $t_{\text{meet}}$라고 합시다. 이 가장 빠른 모임 시각을 기준으로, 각 친구마다 개별적으로 쇼핑몰에 최종적으로 다 모이기 전까지 동행과 함께 보낼 수 있는 최대 총시간을 구하십시오(동행과 함께한다는 것은 정점이든 간선 위의 한 지점이든 그래프 위의 정확히 같은 위치에 다른 친구가 적어도 한 명 함께 있다는 뜻입니다).
특정 친구 $i$를 고려할 때, 다른 모든 친구 $j \neq i$의 경로와 이동 전략은 모든 친구가 늦어도 $t_{\text{meet}}$까지는 쇼핑몰에 도착한다는 조건 아래 친구 $i$의 동행 시간을 최대화하도록 최적화됩니다.
입력
첫째 줄에 테스트 케이스의 수를 나타내는 정수 $T$ ($1 \le T \le 10^4$)가 주어집니다.
각 테스트 케이스의 첫째 줄에는 정점의 수, 간선의 수, 친구의 수를 각각 나타내는 세 정수 $n, m, k$ ($2 \le n \le 3 \times 10^5$, $n - 1 \le m \le 10^6$, $2 \le k \le n$)가 주어집니다.
둘째 줄에는 친구들의 출발 정점을 나타내는 $k$개의 서로 다른 정수 $a_1, a_2, \ldots, a_k$ ($1 \le a_i \le n$)가 주어집니다.
다음 $m$개의 줄에는 각각 세 정수 $u, v, w$ ($1 \le u, v \le n$, $u \neq v$, $1 \le w \le 10^9$)가 주어지며, 이는 정점 $u$와 정점 $v$ 사이에 길이가 $w$인 간선이 있음을 나타냅니다. 그래프는 연결되어 있으며 중복 간선이나 자기 루프가 없습니다.
모든 테스트 케이스에서 $n$의 합은 $3 \times 10^5$을 초과하지 않으며, $m$의 합은 $10^6$을 초과하지 않습니다.
출력
각 테스트 케이스마다 각 친구가 동행과 함께 보낼 수 있는 최대 시간을 나타내는 $k$개의 부동소수점 수를 공백으로 구분하여 한 줄에 출력합니다. 각 수는 소수점 아래 정확히 첫째 자리까지 표시해야 합니다.
예제
입력 1
3 4 3 2 3 4 1 2 3 3 2 1 4 2 1 2 1 2 1 2 1 2 3 3 2 3 1 2 3 1 2 3 1 3 5
출력 1
3.0 3.0 1.5 1.5 3.5 3.5 2.5
참고
예제의 세 번째 테스트 케이스에서 쇼핑몰에 모일 수 있는 가장 빠른 시각은 $5$ 단위 시간입니다.
- 정점 $1$과 정점 $2$에서 출발한 친구들은 $1.5$ 단위 시간 만에 간선 $(1, 2)$의 중간 지점에서 만나고, 다시 $1.5$ 단위 시간 동안 함께 쇼핑몰로 돌아온 뒤, 쇼핑몰에서 $2$ 단위 시간 동안 기다려 총 $3.5$ 단위 시간 동안 함께할 수 있습니다.
- 정점 $3$에서 출발한 친구는 $2.5$ 단위 시간 만에 간선 $(1, 3)$의 중간 지점에서 정점 $1$에서 온 친구를 만나 $2.5$ 단위 시간 동안 함께 돌아오므로, 총 $2.5$ 단위 시간 동안 함께할 수 있습니다.