一根长为L的木棍,上面有N只变色龙,它们以1米/秒的速度向左或向右爬行,它们的颜色是K种中的一种。变色龙会一直向左或向右爬行,直到它在端点处掉落,或者是与另一只相遇,如果相遇,它们都会转向180度,然后继续爬行,例如一只颜色为a的变色龙向左爬行,与一只颜色为b 的变色龙向右爬行,相遇时,它们各自向反方向爬行,且向右的颜色变成b,向左的颜色变成(a+b) mod K。
给你变色龙的初始位置,方向和颜色,请统计每一种颜色的变色龙爬行的距离之和。
输入:
第一行三个整数N , K and L ($1<= N<=100 000; 1<= K<=40; 1<= L<=1 000 000$)
接下来N行,每行三个数di($0<=di<=L$)表示离左端点的距离,bi($0<=bi<=k-1$)表示颜色,字母”L”,”D”表示方向。
所有di互异,且按由小到大的顺序给出。
输出:
K行,每行一个数,第i行表示值为i的颜色变色龙爬行的距离之和,保留一位小数。
50%的数据,$N<=3000$;
input 2 3 10 0 0 D 10 1 L output 10.0 10.0 0.0 input 4 3 7 1 0 D 3 0 D 4 1 L 6 2 D output 10.0 4.0 1.0 input 4 4 5 1 1 D 3 3 L 4 2 D 5 0 L output 2.5 4.0 2.5 4.0样例1中,两只变色龙在中间5米处相遇,转向相反的方向,向右的变色龙相遇后颜色是0向左的颜色是1.