교차하는 각기둥

시간 제한1초메모리 제한128 MB

문제

수학자이자 조각가인 어떤 사람이 수학을 이용해 조각품을 만든다. 그의 방식은 독특하다. 서로 합동인 두 각기둥(prism)을 준비한 뒤, 이 둘을 직각으로 교차시키고 그 교집합으로 생기는 다면체를 새로운 작품으로 삼는다. 완성한 작품에는 색을 칠하므로, 필요한 물감의 양을 어림하려면 이 다면체의 겉넓이를 알아야 한다.

예를 들어, 합동인 두 각기둥을 직각으로 교차시키면 겉넓이가 약 194.8255인 다면체가 만들어지는 경우가 있다.

두 합동 각기둥의 공통 단면 모양이 주어질 때, 만들어지는 조각품의 겉넓이를 구하는 프로그램을 작성하시오.

입력

입력은 여러 개의 데이터셋으로 이루어지며, 마지막에는 $0$ 하나만 있는 줄이 온다. 각 데이터셋의 첫 줄에는 정수 $n$이 주어지는데, 이는 뒤따르는 줄의 개수이다. 그 뒤 각 줄에는 두 정수 $a_i$와 $b_i$가 주어진다 ($i = 1, \dots, n$).

점 $(a_1, b_1), (a_2, b_2), \dots, (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, \dots, n$)이라고 가정해도 된다.

한 각기둥은 $x$축을 따라 놓이며, $x = \xi$에서의 단면 윤곽선이 점 $(x_i, y_i, z_i) = (\xi, a_i, b_i)$ ($0 \le \xi \le 10$, $i = 1, \dots, n$)로 표현된다. 다른 각기둥은 $y$축을 따라 놓이며, $y = \eta$에서의 단면이 점 $(x_i, y_i, z_i) = (a_i, \eta, b_i)$ ($0 \le \eta \le 10$, $i = 1, \dots, n$)로 표현된다.

출력

각 데이터셋에 대해, 그 데이터셋이 정의하는 다면체의 겉넓이를 소수점 아래 정확히 넷째 자리까지 반올림하여 한 줄에 출력한다.