两年前,你成功帮助家乡安装了全国首个 Flubber 管道网络。民意调查显示,每个人都喜欢在厨房里拥有自己的 Flubber 分配器,现在一些有进取心的市民发现了它的新用途。显然,Flubber 与水混合后可以帮助扑灭火灾!这是一个非常及时的发现,因为失控的火灾最近变得出奇地频繁。
家乡的市议会希望利用 Flubber 的这一特性,在一个中心位置建立 Flubber/水混合站。该站被称为 Flubber 部门(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 部门”!你提出了一个公式来衡量最终混合物的“价值”:$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 \frac{1}{2}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