#p514. 扑克牌

扑克牌

Background

Admin生日那天,Rainbow来找Admin玩扑克牌…… 玩着玩着Rainbow觉得太没意思了,于是决定给Admin一个考验~~~

Description

Rainbow把一副扑克牌(54张)随机洗开,倒扣着放成一摞。然后Admin从上往下依次翻开每张牌,每翻开一张黑桃、红桃、梅花或者方块,就把它放到对应花色的堆里去。 Rainbow想问问Admin,得到A张黑桃、B张红桃、C张梅花、D张方块需要翻开的牌的张数的期望值E是多少? 特殊地,如果翻开的牌是大王或者小王,Admin将会把它作为某种花色的牌放入对应堆中,使得放入之后E的值尽可能小。 由于Admin和Rainbow还在玩扑克,所以这个程序就交给你来写了

Input

输入仅由一行,包含四个用空格隔开的整数,A,B,C,D。

Output

输出需要翻开的牌数的期望值E,四舍五入保留3位小数。 如果不可能达到输入的状态,输出-1.000。

Samples

1 2 3 4
15 15 15 15
16.393
-1.000

Limitation

对于100%的数据,0<=A,B,C,D<=15,,各个测试点1s lydrainbowcat - "Admin生日"杯NOIP模拟赛 第三题 Blog: www.lydrainbowcat.tk Email: lyd@tyvj.cn