2D 물리 기반 비디오 게임에서 두 캐릭터 $P$와 $Q$가 전장을 가로질러 이동합니다. 각 캐릭터는 충돌 박스(히트박스) 역할을 하는 볼록 다각형으로 표현됩니다. 두 충돌 박스가 겹치면 게임은 교집합의 넓이를 충돌 피해로 계산합니다.
하지만 경기장 내의 예측할 수 없는 바람 때문에 캐릭터 $Q$는 임의의 평행이동 벡터 $\mathbf{t} = (t_x, t_y)$만큼 변위될 수 있으며, 회전하거나 뒤집힐 수는 없습니다. $Q$가 실제로 $P$와 충돌하도록(즉, 교집합의 넓이가 양수가 되도록) 균등하고 무작위하게 배치되었을 때의 기대 충돌 피해를 계산해야 합니다.
더 엄밀하게는, 캐릭터 $P$를 나타내는 다각형과 벡터 $\mathbf{t}$를 따라 평행이동된 후의 캐릭터 $Q$를 나타내는 다각형의 교집합의 넓이를 $f(\mathbf{t})$로 정의합니다. $f(\mathbf{t}) > 0$을 만족하는 모든 평행이동 벡터 $\mathbf{t}$의 집합을 $D \subseteq \mathbb{R}^2$라고 합시다. $D$는 양의 넓이를 가짐을 보일 수 있으며, 이를 $|D|$로 표기합니다. 여러분은 $\frac{1}{|D|} \iint_D f(\mathbf{t})\,d\mathbf{t}$를 계산해야 합니다.
입력
입력의 첫 번째 줄에는 테스트 케이스의 수를 나타내는 정수 $T$ ($1 \le T \le 300$)가 주어집니다. 각 테스트 케이스에 대하여:
- 첫 번째 줄에는 두 볼록 다각형의 꼭짓점 개수를 각각 나타내는 두 정수 $n$과 $m$ ($3 \le n, m \le 1\,000$)이 주어집니다.
- 다음 $n$개의 줄에는 각각 두 정수 $x$와 $y$ ($-10^4 \le x, y \le 10^4$)가 주어지며, 이는 캐릭터 $P$를 나타내는 다각형의 꼭짓점 좌표 $(x, y)$를 나타냅니다.
- 그다음 $m$개의 줄에는 각각 두 정수 $x$와 $y$ ($-10^4 \le x, y \le 10^4$)가 주어지며, 이는 캐릭터 $Q$를 나타내는 다각형의 꼭짓점 좌표 $(x, y)$를 나타냅니다.
- 볼록 다각형의 꼭짓점들은 반시계 방향 순서로 주어지며, 어느 세 꼭짓점도 한 직선 위에 있지 않음이 보장됩니다.
모든 테스트 케이스에 걸친 $n$의 합과 $m$의 합은 모두 $1\,000$을 초과하지 않음이 보장됩니다.
출력
각 테스트 케이스마다 기대 충돌 피해를 나타내는 실수를 한 줄에 출력합니다.
절대 오차 또는 상대 오차가 $10^{-6}$ 이하이면 정답으로 인정됩니다. 엄밀히 말해, 여러분의 출력을 $a$, 심판진의 답을 $b$라고 할 때, $\frac{|a - b|}{\max(1, |b|)} \le 10^{-6}$일 때 그리고 그때에만 정답으로 인정됩니다.
예제
입력 1
2 3 3 0 0 1 0 0 1 0 0 1 0 0 1 3 3 0 0 1 0 0 1 0 1 1 0 1 1
출력 1
0.083333333333 0.125000000000