g-raph 신앙 (Easy)
시간 제한2초메모리 제한1024 MB
트리에서 간선 하나를 지우고 없는 정점 쌍에 간선 하나를 잇는 마술을 두 번 했을 때, 매번 그래프가 트리로 유지될 확률을 구한다.
문제
고고학자들의 연구에 따르면 토속 신앙 토테미즘 중에는 기린을 숭배하는 g-raph 신앙이 존재했다. 이들은 상징으로 그래프를 사용하였으며, 트리야말로 완벽한 그래프라 생각하여 마을에 정점이 개인 거대한 트리상을 세우고 매일 기도하는 시간을 가졌다.
천둥이 울리던 어느 날, g-raph가 강림하여 다음의 마술을 부렸다.
- 먼저 트리상의 간선 개 중 하나를 균일한 확률로 선택하여 없앤다.
- 다음으로 간선이 존재하지 않는 정점 쌍 중 하나를 균일한 확률로 선택하여 이 두 정점을 잇는 간선을 하나 생성한다.
심지어 이를 두 번 하고 떠났다. 마을 사람들은 첫 번째 마술이 끝난 직후와 두 번째 마술이 끝난 직후 모두 트리상의 트리 조건이 한 번도 위배되지 않았다는 것을 보고 이를 축복이라 여겼다.
이에 감명받은 마을의 수학자는 이 확률이 얼마일지 계산해 보게 된다. 얼마일까?
입력
첫째 줄에 트리상에 존재하는 정점의 개수 이 주어진다.
둘째 줄부터 개의 줄에 걸쳐 트리상에 존재하는 간선의 정보가 한 줄에 하나씩 주어진다. 각 줄에는 , 가 공백으로 구분되어 주어지며, 이는 번 정점과 번 정점이 간선으로 연결되어 있다는 의미이다.
입력으로 주어지는 모든 수는 정수이다.
출력
첫째 줄에 수학자가 계산한 확률을 으로 나눈 나머지를 출력한다.
기약 분수 를 으로 나눈 나머지는 이 을 만족하는 정수일 때, 으로 정의한다.
분모가 의 배수인 기약 분수가 정답이라면 -1을 출력한다.
힌트
간선을 지운 다음 간선이 존재하지 않는 정점 쌍 사이에 생성하는 것이기 때문에, 지운 위치에 다시 간선이 생성될 수 있다.