트리와 소수

정점 N개짜리 트리에서 서로 다른 두 정점을 균일하게 무작위로 고를 때, 두 정점 사이 거리가 소수일 확률을 구한다.

보통7트리DFS정수론분할 정복아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

NN개의 정점으로 이루어진 트리가 주어진다. 정점에는 1번부터 NN번까지 번호가 붙어 있다. 두 정점 사이의 거리는 두 정점을 잇는 경로에 놓인 간선의 개수다.

서로 다른 두 정점을 균일한 확률로 고른다. 즉 서로 다른 두 정점으로 이루어진 (N2)\binom{N}{2}개의 쌍 중 하나가 같은 확률로 뽑힌다. 이때 고른 두 정점 사이의 거리가 소수일 확률을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 정점의 개수 NN이 주어진다. (2N500002 \le N \le 50000)

다음 N1N-1개 줄에는 간선으로 이어진 두 정점의 번호 uuvv가 공백을 사이에 두고 주어진다. (1u,vN1 \le u, v \le N, uvu \ne v)

주어지는 그래프는 항상 트리다.

출력

고른 두 정점 사이의 거리가 소수일 확률을 소수점 아래 열째 자리까지 출력한다. 소수점 아래 열한째 자리에서 반올림하고, 끝에 오는 0도 생략하지 않는다. 예를 들어 확률이 정확히 12\frac{1}{2}이면 0.5000000000을 출력한다.