Bocchan 教授是一位数学家,也是一位雕塑家。他喜欢用数学来创作雕塑。
他的雕塑风格非常独特。他使用两个完全相同的棱柱,将它们以直角交叉,从而制作出一个作为新作品的、由这两个棱柱相交而成的多面体。由于他在完成雕塑后需要进行涂漆,因此他需要知道该多面体的表面积,以便估算所需的颜料量。
例如,让我们考虑图 14 中的两个相同棱柱。它们的横截面定义如图 15 所示。这两个棱柱以直角放置,它们的交集即为图 16 中所示的多面体。其表面积的近似值为 194.8255。
图 14:两个以直角放置的相同棱柱
图 15:横截面轮廓
图 16:交集
给定这两个相同棱柱的横截面形状,你的任务是计算他的雕塑的表面积。
输入格式
输入包含多个数据集,最后以一行仅包含一个零的数据结束。每个数据集的第一行包含一个整数 $n$,表示后续的行数,接下来的每一行包含两个整数 $a_i$ 和 $b_i$ ($i = 1, \cdots, n$)。
由给定点 $(a_1, b_1), (a_2, b_2), \cdots, (a_n, b_n), (a_{n+1}, b_{n+1}) (= (a_1, b_1))$ 组成的闭合路径表示棱柱的横截面轮廓。该闭合路径是简单的,即它不自交也不自触。从 $(a_i, b_i)$ 到 $(a_{i+1}, b_{i+1})$ 的线段的右侧为截面的内部。
你可以假设 $3 \le n \le 4$,$0 \le a_i \le 10$ 且 $0 \le b_i \le 10$ ($i = 1, \cdots, n$)。
其中一个棱柱沿 $x$ 轴放置,使得其在 $x = \xi$ 处的横截面轮廓由点 $(x_i, y_i, z_i) = (\xi, a_i, b_i)$ ($0 \le \xi \le 10, i = 1, \cdots, n$) 表示。另一个棱柱沿 $y$ 轴放置,使得其在 $y = \eta$ 处的横截面轮廓由点 $(x_i, y_i, z_i) = (a_i, \eta, b_i)$ ($0 \le \eta \le 10, i = 1, \cdots, n$) 表示。
输出格式
输出应包含一系列行,每行包含一个十进制小数。每个数字应表示对应数据集所定义的多面体的表面积的近似值。该值允许的误差不超过 0.0001。小数点后可以打印任意位数的数字。
样例
输入 1
4 5 0 0 10 7 5 10 5 4 7 5 10 5 5 0 0 10 4 0 10 10 10 10 0 0 0 3 0 0 0 10 10 0 4 0 10 10 5 0 0 9 5 4 5 0 0 10 5 5 10 10 4 0 5 5 10 10 5 5 0 4 7 1 4 1 0 1 9 5 0
输出 1
194.8255 194.8255 600.0000 341.4214 42.9519 182.5141 282.8427 149.2470