#P6261. [ICPC 2019 WF] Traffic Blights

[ICPC 2019 WF] Traffic Blights

Description

Main 街坐落在一条东西向的直线上,上面有若干位置互异的红绿灯。每个红绿灯以某个固定周期在红绿之间循环。更具体地,它会先持续 rr 秒的红灯,再持续 gg 秒的绿灯,再持续 rr 秒的红灯...如此往复。对于不同的红绿灯,rrgg 的值可能不同。在时刻 00,所有的红绿灯都恰好刚变为红灯。

假设此时有一辆“理想”汽车在前 2019!2019! 秒中的一个随机实数时刻神秘地出现在了 Main 街的最西端,向东以 1 m/s1~ \rm m/s 龟速行驶,直到遇到第一个红灯时停下,那么它有多大的概率通过所有红绿灯?如果它停下来了,那么它在每个红绿灯处停下的概率有多大?

Input Format

第一行一个整数 nn1n5001\le n\le 500) 表示红绿灯的数量。

接下来每行三个整数 x,r,gx,r,g1x1051\le x \le 10^50r,g0\le r,g1r+g1001\le r+g\le 100), 描述一个位置在从西往东 xx 米处的,红灯持续时间为 rr,绿灯持续时间为 gg 的红绿灯。

最西侧即 x=0x=0 处,保证 xx 严格递增。

Output Format

nn 行第 ii 行每行输出一个实数表示在第 ii 个红绿灯停下的概率。

n+1n + 1 行输出一个实数表示通过所有红绿灯的概率。

你需要保证绝对误差不超过 10610^{-6}.

4
1 2 3
6 2 3
10 2 3
16 3 4
0.4
0
0.2
0.171428571429
0.228571428571
6
4 1 5
9 8 7
13 3 5
21 5 7
30 9 1
2019 20 0
0.166666666667
0.466666666667
0.150000000000
0.108333333333
0.091666666667
0.016666666667
0.000000000000