Fallleaves01 對高爾夫球懷有深厚的熱情,但遺憾的是,他的球技相當普通。
為了提升球技,Fallleaves01 購買了 $k$ 個室內高爾夫推桿練習器在家練習。與普通的練習器不同,他購買的練習器非常巨大。具體而言,每個練習器都可以抽象為一棵有 $n_i$ 個頂點的樹,其中頂點 $1$ 代表球洞。每個練習器上都有一顆高爾夫球。對於第 $i$ 個練習器,球最初放置在頂點 $s_i$。
在每次擊球時,Fallleaves01 會選擇一個練習器進行擊球。由於他的技術有限,高爾夫球會均勻隨機地移動到其中一個相鄰節點。如果球到達球洞(頂點 $1$),當天的練習就會結束。否則,Fallleaves01 會重複上述過程,直到有任何一顆球進洞為止。
Fallleaves01 的目標是最小化完成練習所需的期望擊球次數。假設他每次擊球都做出最佳選擇,請計算期望的擊球次數。
輸入格式
每個測試檔案中只有一組測試資料。
第一行包含一個整數 $k$($1 \le k \le 300$),表示室內高爾夫推桿練習器的數量。
接下來是各個練習器的描述。對於每個練習器:
- 第一行包含兩個整數 $n_i$ 與 $s_i$($2 \le s_i \le n_i \le 300$)。
- 在接下來的 $(n_i - 1)$ 行中,第 $j$ 行包含兩個整數 $u_{i,j}$ 與 $v_{i,j}$($1 \le u_{i,j}, v_{i,j} \le n_i$),表示有一條邊連接頂點 $u_{i,j}$ 與 $v_{i,j}$。保證這些邊構成一棵樹。
輸出格式
輸出一行,包含一個數,表示在最佳策略下的期望擊球次數。
若你的答案與標準答案的絕對誤差或相對誤差不超過 $10^{-6}$,則視為正確。形式化地說,假設你的輸出為 $a$,裁判的答案為 $b$,當且僅當 $\frac{|a-b|}{\max(1,|b|)} \le 10^{-6}$ 時,你的輸出會被接受。
範例
說明
2
4 2
1 2
2 3
3 4
4 3
1 2
2 3
3 4
4.666666666666666