#129. 扑克牌

扑克牌

题目描述

Admin生日那天,Rainbow来找Admin玩扑克牌。

玩着玩着Rainbow觉得太没意思了,于是决定给Admin一个考验。

Rainbow把一副扑克牌( 54\red{54} 张)随机洗开,倒扣着放成一摞。

然后Admin从上往下依次翻开每张牌,每翻开一张黑桃、红桃、梅花或者方块,就把它放到对应花色的堆里去。

Rainbow想问问Admin,得到 A\red A 张黑桃、B\red B 张红桃、C\red C 张梅花、D\red D 张方块需要翻开的牌的张数的期望值 E\red E 是多少?

特殊地,如果翻开的牌是大王或者小王,Admin将会把它作为某种花色的牌放入对应堆中,使得放入之后 E\red E 的值尽可能小。

由于AdminRainbow还在玩扑克,所以这个程序就交给你来写了。

输入格式

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

输出格式

输出需要翻开的牌数的期望值 E\red E ,四舍五入保留 3\red 3 位小数。

如果不可能达到输入的状态,输出 1.000\red{-1.000}

样例

输入样例

1 2 3 4

输出样例

16.393

提示

0A,B,C,D15\red{0\leq A,B,C,D\leq 15}