Mira is exploring an ancient kingdom whose rooms are connected by corridors. Every room is reachable from every other room, so the corridors form a tree. The rooms are numbered from to , and Mira begins in room .
Mira records each room's number the first time she visits it. From every room, she explores its children in a uniformly random order: every permutation of the children is equally likely. The random orders chosen at different rooms are independent.
More precisely, Mira performs the following procedure on the tree rooted at room :
DFS(v):
append v to p
shuffle the children of v uniformly at random
for each child u of v, in that order:
DFS(u)
After the procedure finishes, the recorded sequence is a permutation of the integers from to .
An inversion is a pair of positions such that and .
Find the expected number of inversions in the resulting permutation.
It can be shown that the answer is always an integer or an integer plus . Print the exact answer with one digit after the decimal point.
Input
The first line contains a single integer () --- the number of rooms.
Each of the next lines contains two integers and (, ), representing a corridor between rooms and .
It is guaranteed that the corridors form a tree, rooted at vertex .
Output
Print the expected number of inversions in the DFS permutation, with exactly one digit after the decimal point.
Example
stdin
4
1 3
3 2
3 4
stdout
1.5
Note
In the example, the only possible DFS orders are and . The first one has inversion: . The second one has inversions: and . As these two orders are equally likely, the expected number of inversions is .