你想要用丝带包裹一个立方体盒子。你将丝带系成一个环。换句话说,丝带必须是盒子表面上的一个闭合曲线。丝带必须是绷紧的:它在表面上必须是直的,并且当它穿过一条棱时,如下图所示的两个角必须相等。丝带不允许穿过顶点。
此外,当盒子放置在三维空间中,且其棱平行于笛卡尔坐标系的坐标轴时,丝带必须有一部分平行于向量 $(a, b, 0)$。
盒子的边长为 $1$。计算丝带的最小可能长度。你可以假设结的大小无限小,但丝带即使在结的位置也必须是绷紧的(见下文说明)。
输入格式
输入包含两个整数 $a$ 和 $b$,位于同一行($0 \le a, b \le 10^{18}, (a, b) \neq (0, 0)$)。
输出格式
输出丝带的最小可能长度,要求绝对误差或相对误差不超过 $10^{-6}$。
样例
样例输入 1
1 1
样例输出 1
4.2426406871192851464050661726291
样例输入 2
1 0
样例输出 2
4
样例输入 3
10 30
样例输出 3
9.4868329805051379959966806332982
说明
下图中的前三幅图展示了三个样例的可能解。注意,最后一幅图是第三个样例的一个无效解示例。