Пересечение призм
Профессор Бокчан — математик и скульптор, который создает скульптуры с помощью математики.
Его метод создания скульптур уникален: он использует две одинаковые призмы и пересекает их под прямым углом, чтобы получить многогранник, являющийся их пересечением. Для завершения работы он окрашивает скульптуру, поэтому ему необходимо знать площадь поверхности многогранника, чтобы рассчитать количество краски.
Например, на Рисунке 1 показаны две идентичные призмы, а на Рисунке 2 — их поперечное сечение. Призмы пересекаются под прямым углом, и их пересечение образует многогранник, изображенный на Рисунке 3. Приблизительная площадь его поверхности составляет 194.8255.
Рисунок 1.
Зная форму поперечного сечения двух одинаковых призм, вам нужно вычислить площадь поверхности его скульптуры.
Входные данные
Входные данные содержат несколько наборов, за которыми следует строка с нулем. Первая строка каждого набора содержит целое число n, обозначающее количество последующих строк. Каждая из этих строк содержит два целых числа a_i и b_i (i = 1, ..., n).
Замкнутый путь, образованный точками (a_1, b_1), (a_2, b_2), ..., (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 ≤ n ≤ 4, 0 ≤ a_i ≤ 10 и 0 ≤ b_i ≤ 10 (i = 1, ..., n).
Одна из призм расположена вдоль x-оси так, что контур ее поперечного сечения при x = E задан точками (x_i, y_i, z_i) = (E, a_i, b_i) (0 ≤ E ≤ 10, i = 1, ..., n). Другая призма расположена вдоль y-оси так, что ее поперечное сечение при y = F задано точками (x_i, y_i, z_i) = (a_i, F, b_i) (0 ≤ F ≤ 10, i = 1, ..., n).
Выходные данные
Выходные данные должны содержать серию строк, каждая из которых содержит одно десятичное число. Каждое число должно быть приблизительным значением площади поверхности многогранника, определенного соответствующим набором данных. Погрешность не должна превышать 0.0001. Вы можете выводить любое количество цифр после десятичной точки.