旅游
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

        小C喜欢旅游,现在他要去DSH旅游,DSH里有n个城市和n-1条双向道路(每条道路长度为1,每条道路连接两个城市,并且任意两个城市都可以通过这些的道路互相到达。现在小C要使用魔法指定传送到DSH里的一个城市,作为他旅游的出发城市,小C旅游遵从以下原则:
  1. 当小C抵达一个城市的时候,他会去跟当前这个城市相连的城市;
  2. 他只去他以前没有去过的城市;
  3. 在每个城市,小C以相同的概率移动去上述符合要求的城市;
  4. 当没有这样的城市(可走)时,小C就停下了。
        由于小C太喜欢DSH了,所以请你告诉小C,在他可以指定传送出发城市的情况下,他的旅游路径的期望最大值是多少。    

输入描述:

第1行一个整数n(1\leq n \leq 100000),表示DSH有n个城市;
接下来n-1行,每行包含两个整数ab (1 \leq a, b \leq n),表示城市a和城市b之间有一条双向道路。

输出描述:

输出一个数,表示这次旅游期望可以达到的最大值,保留三位小数。

示例1

输入

复制
4
1 2
1 3
2 4

输出

复制
3.000

说明

如上图:
如果初始传送至城市3,那么他的旅游路径是(3,1,2,4),总距离为3,期望为3;
如果初始传送至城市1,那么他的旅游路径可以是(1,2,4),总距离为2,也可以是(1,3),总距离为1,所以期望是1.5;
如果初始传送至城市2,那么他的旅游路径可以是(2,4),总距离是1,也可以是(2,1,3),总距离是2,所以期望是1.5;
如果初始传送至城市4,那么他的旅游路径是(4,2,1,3),总距离为3,期望为3。
所以最大期望是3。
示例2

输入

复制
7
1 4
1 2
4 5
4 3
2 7
2 6

输出

复制
3.000