만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

레이무의 순간이동 연습

시간 제한6초메모리 제한1024 MB

요약
트리에서 사제 노드는 모든 사제 중 한 명으로 균등 확률 순간이동이 가능할 때, 최적으로 행동하는 경우 A에서 B까지 가는 기대 행동 횟수를 구합니다.
난이도

어려움10점 중 8점

유형
트리, 동적 계획법, 확률
정답자
아직 제출이 없습니다

문제

레이무가 사는 환상향에는 NN개의 신사가 있습니다. 이 중 KK개의 신사는 명신을 모시는 명신대사입니다. 두 신사를 양방향으로 잇는 길이 N−1N-1개 있고, 임의의 두 신사는 한 개 이상의 길을 사용해 서로 오갈 수 있습니다. 레이무는 QQ일 동안 자신의 능력인 순간이동을 연습하기로 했습니다. ii번째 날에는 AiA_i번 신사에서 출발해 마리사가 있는 BiB_i번 신사까지 가려고 합니다. 레이무는 다음 동작을 이용해 신사 사이를 이동합니다.

  • 현재 신사와 길로 직접 연결된 신사 중 하나를 골라 이동합니다.
  • 지금 있는 신사가 명신대사이면, 지금 있는 신사를 포함한 KK개의 명신대사 중 하나로 동일한 확률로 무작위 순간이동합니다.

마리사는 레이무가 빨리 연습을 끝내고 자신과 놀아주기를 바랍니다. 그래서 어떤 순서로 동작을 사용해야 하는지 알려주려고 합니다. 매 순간 BiB_i번 신사에 도착하기까지 필요한 동작 횟수의 기댓값이 최소가 되도록 선택한다고 할 때, AiA_i번 신사에서 BiB_i번 신사까지 가는 동작 횟수의 기댓값을 출력하세요.

입력

첫 줄에 NN, KK, QQ가 공백으로 구분되어 주어집니다. (2≤N≤1000002 \le N \le 100000; 1≤K≤N1 \le K \le N; 1≤Q≤5000001 \le Q \le 500000) 다음 N−1N-1개의 줄에는 uiu_i와 viv_i가 주어집니다. 이는 uiu_i번 신사와 viv_i번 신사가 길로 연결되어 있다는 뜻입니다. (1≤ui<vi≤N1 \le u_i < v_i \le N) 임의의 두 신사는 한 개 이상의 길을 사용해 서로 오갈 수 있다고 보장됩니다. 다음 줄에는 명신대사의 신사 번호 p1,p2,⋯ ,pKp_1, p_2, \cdots, p_K가 주어집니다. (1≤p1<p2<⋯<pK≤N1 \le p_1 < p_2 < \cdots < p_K \le N) 다음 QQ개의 줄에는 AiA_i와 BiB_i가 주어집니다. 이는 ii번째 날에 AiA_i번 신사에서 출발해 BiB_i번 신사까지 간다는 뜻입니다. (1≤Ai,Bi≤N1 \le A_i, B_i \le N; Ai≠BiA_i \ne B_i)

출력

QQ개의 줄을 출력합니다. ii번째 줄에는 AiA_i번 신사에서 BiB_i번 신사에 도착하기 위한 동작 횟수의 기댓값을 출력합니다. 정답과의 상대 오차가 10−910^{-9} 이하여야 합니다.

예제1

  1. 예제 1

    입력
    8 5 2
    1 2
    2 3
    3 4
    4 5
    4 6
    4 7
    4 8
    1 5 6 7 8
    1 4
    4 1
    
    예상 출력
    2.25
    3