Polycarp 船长从小就梦想拥有一艘三桅帆船。终于,他的梦想即将成真,他攒够了钱,买下了一艘漂亮的克拉克帆船“Pulcheria”。然而,他忽略了一个事实:这艘船出售时没有帆,所以他现在必须单独寻找帆。
这艘克拉克帆船应该有四面帆:后桅杆上一面,前桅杆上一面,中桅杆上两面。巧合的是,Polycarp 正好有四块布料,大小分别为 $t_1, t_2, t_3$ 和 $t_4$。Polycarp 可以按任意顺序使用这些布料作为帆,如果需要,可以事先将它们裁剪得更小。
设前桅杆帆的大小为 $a_1$,中桅杆两面帆的大小为 $a_2$ 和 $a_3$,后桅杆帆的大小为 $a_4$。船的机动性计算公式为 $a_1a_4 + a_2 + a_3$,稳定性计算公式为 $a_1 + a_4 + a_2a_3$。
为了让克拉克帆船安全航行,船长必须调整帆的大小,使得船的机动性等于其稳定性。为了获得最大的舒适度,这两个值应该尽可能大。
总结来说,Polycarp 需要在必要时减小 $t_1, \dots, t_4$ 的值,然后将得到的大小按任意顺序分配给四面帆,使得以下等式成立,且等式两边的值尽可能大: $$a_1a_4 + a_2 + a_3 = a_1 + a_4 + a_2a_3$$
请帮助他找到一种方法,在使船的机动性等于稳定性的同时,最大化这两个相等的值。
输入格式
输入的第一行包含四个整数 $t_1, t_2, t_3$ 和 $t_4$,表示 Polycarp 拥有的布料大小 ($1 \le t_i \le 10^4$)。
输出格式
第一行输出 $p$ —— 一个 $1$ 到 $4$ 的排列,其中第 $i$ 个数字表示第 $i$ 面帆是由哪一块布料裁剪而成的。例如,如果第二面帆是由第四块布料裁剪而成的,则 $p_2 = 4$。
第二行输出四个空格分隔的值 $a_1, a_2, a_3$ 和 $a_4$ —— 最终帆的大小 ($1 \le a_1, a_2, a_3, a_4 \le 10^4$)。这些值不必是整数。
如果你的答案计算出的机动性和稳定性与正确答案的绝对误差不超过 $2 \cdot 10^{-6}$,且这两个值彼此之间的差不超过 $10^{-6}$,则你的答案被视为正确。
样例
样例 1
输入
1 1 1 1
输出
1 2 3 4 1.0 1.0 1.0 1.0
样例 2
输入
7 5 3 5
输出
1 2 4 3 7.0 4.0 5.0 3.0
样例 3
输入
2 3 4 5
输出
1 2 3 4 2.0 2.3333333333 4 5