大家一定经常见到这样的场景:
你是否思考过悬挂链条形成的曲线?不,它不是抛物线,而是双曲余弦函数的图像,被称为悬链线(catenary)。在本题中,你需要绘制悬链线的一种离散模拟图像。
假设你有几根杆子,按一定顺序首尾相连。连接处是不可伸缩且灵活的,也就是说,每两根相邻的杆子可以在任意角度连接。杆子非常细,因此可以视为线段。质量均匀分布在每根线段上。此外,所有线段具有相同的密度,因此它们的质量与长度成正比。
该链条的两端固定在点 $(0, 0)$ 和 $(L, 0)$,由于重力作用,这些线段形成一条折线。重力方向以及 $y$ 轴方向均向下。请确定该折线的形状。
输入格式
第一行包含两个整数 $n$ 和 $L$ ($3 \le n \le 10$, $200 \le L \le 299$)。第二行包含 $n$ 个整数 $l_1, l_2, \dots, l_n$ ($100 \le l_i \le 199$),表示从左到右各线段的长度。不允许改变线段的顺序。
输出格式
输出 $n - 1$ 行。每行包含两个实数,表示从左到右折线上各点的 $x$ 和 $y$ 坐标。不要输出第一个点 $(0, 0)$ 和最后一个点 $(L, 0)$。请确保输出的数字小数点后至少保留三位。
样例
输入格式 1
3 200 100 100 100
输出格式 1
50.0000000000 86.6025403784 150.0000000000 86.6025403784
输入格式 2
3 241 128 105 108
输出格式 2
76.2967704600 102.7754971643 180.4447346423 89.4262815813