트리는 임의의 두 정점이 많아야 하나의 단순 경로(정점을 중복해서 지나지 않는 경로)로만 연결되는 무향 그래프입니다.
정점이 n개이고 1번부터 n번까지 번호가 매겨진 트리를 생각합니다. P를 이 트리의 정점들에 대한 순열, 즉 일대일 대응 P:{1,2,…,n}→{1,2,…,n}라고 합시다. 임의의 두 정점 u, v에 대해 P(u)와 P(v)가 간선으로 연결되어 있다는 것과 u와 v가 간선으로 연결되어 있다는 것이 서로 필요충분조건일 때, 순열 P를 자기동형사상(automorphism)이라고 부릅니다.
주어진 트리의 서로 다른 자기동형사상의 개수를 1,000,000,007로 나눈 나머지를 구하세요.
첫째 줄에 트리의 정점 개수 n (1≤n≤500,000)이 주어집니다. 이어지는 n−1개의 줄에는 각각 두 정수 ui와 vi (1≤ui<vi≤n)가 주어지며, 이는 정점 ui와 vi를 잇는 간선을 나타냅니다.
주어진 트리의 서로 다른 자기동형사상의 개수를 1,000,000,007로 나눈 나머지를 한 줄에 출력하세요.

위 트리에는 8개의 자기동형사상이 있습니다. 그 중 세 가지는 다음과 같습니다.