在《三国杀》游戏中,有 4 名玩家,分别是主公、忠臣、反贼和内奸。他们初始的生命值分别为 $h_1, h_2, h_3$ 和 $h_4$。生命值大于 0 的玩家处于存活状态;生命值为 0 的玩家死亡。
游戏每一轮中,玩家按以下顺序行动:主公先手,接着是反贼、忠臣,最后是内奸。在一名玩家的回合中,如果该玩家存活,他必须攻击一名其他玩家,使该玩家的生命值减少 1。注意,死亡的玩家不能攻击其他玩家,且不允许攻击自己。
当发生以下任一事件时,游戏立即结束: 反贼和内奸均死亡:主公和忠臣获胜,无论忠臣是否存活。 主公死亡:如果内奸存活且所有其他玩家均已死亡,则内奸获胜;否则反贼获胜,无论反贼是否存活。
玩家在策略上遵循以下共识: 主公和忠臣从不互相攻击。 在攻击目标的选择上,以最大化自身获胜概率为目标。 * 如果存在多个目标使得获胜概率相同且均为最大值,则以相等的概率随机选择这些目标。
你的任务是计算每位玩家的获胜概率。
输入格式
第一行包含一个整数,表示测试用例的数量(最多 10000 个)。对于每个测试用例,包含一行 4 个整数 $h_1, h_2, h_3$ 和 $h_4$ ($0 < h_1 < 40, 0 \le h_2 < 40, 0 \le h_3 < 40, 0 \le h_4 < 40$)。
输出格式
对于每个测试用例,输出一行 3 个获胜概率,保留 6 位小数。第一个概率为主公和忠臣的获胜概率,第二个为反贼的获胜概率,最后一个为内奸的获胜概率。
样例
输入 1
4 1 1 1 1 1 0 1 1 1 1 1 2 2 1 2 6
输出 1
1.000000 0.000000 0.000000 0.000000 0.500000 0.500000 0.500000 0.500000 0.000000 0.250000 0.500000 0.250000