兩年前,你協助在家鄉安裝了全國首個 Flubber 管道網路,大獲成功。民意調查顯示,大家都喜歡在自家廚房擁有 Flubber 分配器,如今有幾位富有開拓精神的市民發現了它的一項用途。原來 Flubber 與水混合後可以協助滅火!這項發現十分及時,因為最近失控火災竟然異常頻繁。
家鄉的市議會希望利用 Flubber 的這項特性,在位於中央的站點製造 Flubber 與水的混合物。這個站點稱為 Flubber Department(FD),也會配備受過專業訓練的員工,前往火災現場並用處理過的 Flubber 控制火勢。
管道已經遍布全城。給定管道的配置,你必須決定如何將 Flubber 工廠的 Flubber 和當地水源的水經管道送至 FD。
注意,Flubber 和水將流經同一個管道網路,甚至可能流經同一條管道。所有管道都是雙向的,但 Flubber 和水不能在同一條管道中沿相反方向流動。此外,若兩種液體沿同一方向通過同一條管道,它們必然會混合。因此,網路中的節點配備了特殊薄膜與濾器,讓你可以依照需要分離並重新組合所有流入的混合物。此網路是封閉系統,因此,除了某種液體的源頭與終點(FD)之外,該液體流入每個節點的總流率必須等於流出的總流率。
每條管道有一定的容量。Flubber 流動較慢,具有黏度值 $v$,因此每秒可輸送 $v$ 公升水的管道,每秒只能輸送 $1$ 公升 Flubber。對兩者的混合物,管道容量按線性關係計算。確切地說,若 $c$ 表示管道輸水容量,$f$ 與 $w$ 分別為通過管道的 Flubber 和水的流率(皆以公升/秒計),則容量限制為 $v \cdot f + w \le c$。
你最關心的是送達 FD 的混合物比例。你希望總液體量盡可能多,但也需要足夠的水——因為未稀釋的 Flubber 非常易燃——以及足夠的 Flubber——畢竟沒有 Flubber 就不太像「Flubber Department」了!你提出了一個衡量最終混合物「價值」的公式:$F^a \cdot W^{1-a}$,其中 $F$ 為流入的 Flubber 流率,$W$ 為流入的水的流率,單位都是公升/秒,而 $a$ 是給定的介於 $0$ 與 $1$ 之間的常數。
求出可以達到的 $F^a \cdot W^{1-a}$ 最大值,以及為達成此值應如何輸送 Flubber 和水。
輸入格式
輸入第一行包含地點數 $n$($3 \le n \le 200$)、管道數 $p$($n-1 \le p \le \frac12 n(n-1)$),以及實數 $v$($1 \le v \le 10$)和 $a$($0.01 \le a \le 0.99$)。地點編號為 $1$ 到 $n$;$1$ 是 Flubber 工廠,$2$ 是水源,$3$ 是 FD。實數的小數點後最多有 $10$ 位。
接下來 $p$ 行各描述一條管道。每行包含兩個整數 $j$ 與 $k$($1 \le j < k \le n$),表示管道連接的地點,以及整數 $c$($1 \le c \le 10$),表示管道的輸水容量,單位為公升/秒。
任意兩個地點之間不會有多條管道。此外,保證網路連通。
輸出格式
首先,對每條管道按輸入順序輸出兩個值:通過該管道的 Flubber 流率和水的流率(若液體從 $k$ 流向 $j$,則為負數),使 $F^a \cdot W^{1-a}$ 最大化。然後輸出該最大值,絕對誤差不超過 $10^{-4}$。
若有多個解,任意一個都會被接受。所有限制(Flubber 和水不在同一管道中反向流動、流量守恆、管道容量,以及構造的解與其宣稱價值的一致性)都必須在 $10^{-4}$ 的絕對誤差內滿足。
範例
輸入格式 1
6 6 3.0 0.66 2 4 8 4 6 1 3 6 1 4 5 5 1 5 7 3 5 3
輸出格式 1
0.000000000 1.360000000 0.000000000 1.000000000 0.000000000 -1.000000000 0.000000000 0.360000000 0.880000000 0.000000000 -0.880000000 -0.360000000 1.02037965897
輸入格式 2
5 5 1.0 0.5 1 2 10 2 3 10 3 4 10 4 5 10 3 5 10
輸出格式 2
5 0 5 5 4.2 3.14159 4.2 3.14159 -4.2 -3.14159 5