연결된 기브(Connected Gheeves)
시간 제한1초메모리 제한128 MB
아래가 연결된 두 개의 볼록한 깔때기 모양 용기에 주어진 넓이만큼 물을 부었을 때, 더 낮은 테두리를 넘지 않는 최종 수위를 구한다.
문제
기브(gheef, 복수형 gheeves)는 깔때기 모양의 2차원 그릇입니다. 기브는 다음 조건을 만족하는 점들의 수열 으로 정의됩니다.
- 라 할 때, 이고 을 만족하는 인덱스 이 존재합니다. 즉 좌표는 꼭짓점 까지 강하게 감소하다가 그 뒤로 강하게 증가합니다. 이 를 기브의 첨점(cusp) 이라 합니다.
- 모든 에 대해 이고, 모든 에 대해 입니다. 즉 왼쪽 벽은 첨점의 왼쪽에, 오른쪽 벽은 오른쪽에 놓입니다.
- 벽은 바깥쪽으로 볼록합니다. ( 또는 인 각 꼭짓점 에서 을 를 중심으로 시계 방향으로 회전시켜 과 일직선이 되게 하려면 보다 큰 회전이 필요합니다.) 또한 이웃한 점들을 잇는 선분들은 공유하는 끝점에서만 만나며, 몸통은 자기 자신과 교차하지 않습니다.
점들을 잇는 선분들의 열 을 기브의 몸통 이라 합니다. 아래 그림은 인 여섯 점짜리 기브의 예입니다.

두 기브 과 이 주어집니다. 의 모든 좌표는 음의 정수, 의 모든 좌표는 양의 정수이므로 는 축 왼쪽에, 는 오른쪽에 놓입니다. 두 첨점은 부피가 없는 가느다란 관으로 이어져 있어 두 기브는 연통관처럼 동작합니다. 즉 물은 항상 두 기브에서 같은 높이를 유지합니다.
이 계에 일정량의 물을 붓습니다. 문제가 2차원이므로 물의 양은 물이 차지하는 단면적으로 측정합니다. 물은 아래에서 위로 차오릅니다. 에서 수위가 (두 테두리 중 낮은 쪽)에 도달하면 물이 밖으로 넘쳐 흐르고, 도 마찬가지입니다. 따라서 수위는 두 테두리 중 더 낮은 높이를 결코 넘지 못합니다. 주어진 양의 물을 모두 부은 뒤 최종 수위를 구하세요.
입력
첫 줄에 테스트 케이스의 수 가 주어집니다. 각 테스트 케이스는 세 줄로 이루어집니다.
- 첫 줄: 계에 붓는 물의 양을 나타내는 정수 (). 넓이로 측정합니다.
- 둘째 줄: 기브 의 정보. 점의 개수 뒤에 개의 좌표쌍 가 옵니다.
- 셋째 줄: 같은 형식으로 기브 의 정보.
모든 좌표는 정수입니다. 의 좌표는 모두 음수, 의 좌표는 모두 양수입니다.
출력
각 테스트 케이스마다 최종 수위 을 한 줄에 출력합니다. 이 좌표 값을 소수점 아래 정확히 셋째 자리까지 반올림하여 출력합니다 (예: -15.000, 3.536). 부은 물의 양이 낮은 테두리까지의 수용 용량 이상이면 수위는 그 테두리 높이와 같습니다.