두 각기둥의 교집합

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

문제

$P_1$은 축이 $z$축과 평행한 무한히 높은 각기둥이고, $P_2$는 축이 $y$축과 평행한 무한히 높은 각기둥이라고 하자. $P_1$은 $P_1$과 $xy$평면의 단면인 다각형 $C_1$으로 정의되고, $P_2$는 $P_2$와 $xz$평면의 단면인 다각형 $C_2$로 정의된다.

그림 I.1은 예제 입력의 첫 번째 데이터셋으로 나오는 두 단면을 보여주고, 그림 I.2는 각기둥과 그 단면 사이의 관계를 보여준다.

$C_1$: $P_1$과 $xy$평면의 단면(왼쪽). $C_2$: $P_2$와 $xz$평면의 단면(오른쪽).

그림 I.1: 각기둥의 단면.

$P_1$과 $C_1$(왼쪽). $P_2$와 $C_2$(오른쪽).

그림 I.2: 각기둥과 그 단면.

그림 I.3: 두 각기둥의 교집합.

그림 I.3은 그림 I.2의 두 각기둥, 즉 $P_1$과 $P_2$의 교집합을 보여준다.

두 각기둥의 교집합의 부피를 계산하는 프로그램을 작성하시오.

입력

입력은 여러 개의 데이터셋으로 이루어진다. 데이터셋의 수는 $200$개 미만이다.

각 데이터셋의 형식은 다음과 같다.

m n
x11 y11
x12 y12
...
x1m y1m
x21 z21
x22 z22
...
x2n z2n

$m$과 $n$은 각각 다각형 $C_1$과 $C_2$의 꼭짓점 수를 나타내는 정수이다 ($3 \le m \le 100$, $3 \le n \le 100$).

$x_{1i}$, $y_{1i}$, $x_{2j}$, $z_{2j}$는 $-100$ 이상 $100$ 이하의 정수이다. $(x_{1i}, y_{1i})$와 $(x_{2j}, z_{2j})$는 각각 $C_1$의 $i$번째 꼭짓점과 $C_2$의 $j$번째 꼭짓점의 위치이다.

이 꼭짓점 위치들의 수열은 그림 I.1과 같이 $xy$평면 또는 $xz$평면 위에서 반시계 방향으로 주어진다.

모든 다각형은 볼록하다고 가정해도 좋다. 즉, 각 다각형의 모든 내각은 180도보다 작다. 또한 모든 다각형은 단순하다고 가정해도 좋다. 즉, 각 다각형의 경계는 자기 자신과 교차하거나 닿지 않는다.

입력의 끝은 두 개의 0으로 이루어진 줄로 표시된다.

출력

각 데이터셋에 대해, 두 각기둥 $P_1$과 $P_2$의 교집합의 정확한 부피를 한 줄에 출력한다. 모든 꼭짓점 좌표가 정수이므로 이 부피는 항상 유리수이다. 이를 기약분수 p/q 형태로 출력하며, 여기서 $q > 0$이고 $p$와 $q$는 $1$보다 큰 공약수를 가지지 않는다(부피가 정수 $V$이면 V/1로, 부피가 0이면 0/1로 쓴다). 다른 문자는 출력하지 않는다.