풀 뜯는 염소 (Small)
시간 제한5초메모리 제한512 MB
두 말뚝을 중심으로 양동이 위치를 지나는 가장 작은 두 원이 서로 겹치는 넓이를 구합니다.
문제
농부 존이 염소 마리를 들여왔다. 염소 는 위치 에 박은 말뚝에 길이 인 밧줄로 묶인다. 그래서 염소 는 점 에서 거리가 이하인 곳이면 어디든 갈 수 있고, 그 밖으로는 나가지 못한다. 목초지는 넓고 평평하므로 무한한 평면으로 생각한다.
말뚝 위치는 이미 정해져 있고, 존은 밧줄 길이만 고르면 된다. 고르기 까다로운 이유가 둘 있다.
- 염소가 모두 물통 하나에 닿아야 한다. 존은 물통을 어디에 둘지 아직 정하지 못했고, 후보를 으로 좁혀 두었다.
- 염소는 성질이 사나워서 한자리에 모이면 시끄럽게 싸운다. 그래서 존은 염소가 모두 닿을 수 있는 영역의 넓이 를 최소로 만들고 싶다.
물통을 에 두는 경우마다, 염소가 모두 닿을 수 있는 영역의 넓이 가 최소가 되도록 밧줄 길이를 정하고, 그때의 를 구하라.
아래 그림은 말뚝이 네 개인 상황을 보여준다. 파란 점 네 개가 말뚝 위치 이고, 빨간 점 두 개가 물통 후보 이다. 색칠된 두 영역의 넓이가 각각 , 이다. 이 문제에서 말뚝은 항상 두 개다.

입력
첫 줄에 테스트 케이스의 개수 가 주어진다. 각 테스트 케이스의 첫 줄에는 정수 과 이 주어진다.
이어지는 개 줄에 말뚝 위치 이 한 줄에 하나씩 주어지고, 그다음 개 줄에 물통 후보 위치 이 한 줄에 하나씩 주어진다. 이 개 줄에는 각각 그 점의 좌표와 좌표가 공백 하나를 사이에 두고 주어진다.
제한
- 모든 좌표는 이상 이하의 정수이다.
- 한 테스트 케이스 안의 개 점은 서로 다르고, 그중 어떤 세 점도 한 직선 위에 있지 않다.
출력
각 테스트 케이스마다 Case #x: A1 A2 ... AM 형식으로 한 줄을 출력한다. 는 부터 시작하는 테스트 케이스 번호이고, 는 위에서 정의한 넓이다.
넓이는 반올림해서 소수점 아래 네 자리까지 항상 출력하고, 값 사이는 공백 하나로 구분한다. 예를 들어 넓이가 이면 0.2939를, 이면 10.7080을 출력한다.