별들의 전쟁

두 사면체의 여덟 꼭짓점 좌표가 주어질 때 공간에서 두 사면체 사이의 최단 거리를 구한다.

어려움8기하구현완전 탐색면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

아주 먼 옛날 아주 먼 은하계에 모든 것을 지배하는 제국이 있었다. 이 상황에 불만을 품은 반란 연합은 모든 종족에게 민주주의와 평화를 되찾아 주려고 제국에 맞서 싸우기로 했다.

반란군 지휘관 중 한 명인 카엘 함장은 순양함을 몰고 우주를 항해하다가 제국 함선을 발견했다. 그 시대의 미적 기준에 따라 모든 함선은 사면체다. 제국의 기습 공격을 받은 카엘은 지금이 사격 위치라는 것을 알아챘고, 자기 함선의 어느 점에나 포를 놓을 수 있다.

무기의 출력이 고정되어 있어서, 카엘은 피해를 줄이려고 에너지 빔이 제국 함선까지 나아가는 거리가 가장 짧아지도록 포를 놓으려 한다. 그래서 부함장인 당신 신 탈리그에게 반란군 함선과 제국 함선 사이의 최단 거리를 계산해 달라고 했다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 첫 줄에 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스는 여덟 줄로 이루어지고, 각 줄은 함선 꼭짓점 하나의 좌표를 나타낸다. 처음 네 줄은 반란군 함선의 꼭짓점이고, 그다음 네 줄은 제국 함선의 꼭짓점이다.

좌표를 나타내는 각 줄에는 세 정수 XX, YY, ZZ가 주어진다 (103X103-10^3 \le X \le 10^3, 103Y103-10^3 \le Y \le 10^3, 103Z103-10^3 \le Z \le 10^3). 각 함선의 네 꼭짓점은 항상 부피가 0이 아닌 사면체를 이루고, 두 함선은 항상 서로 만나지 않는다.

출력

각 테스트 케이스마다 두 함선 사이의 거리를 소수점 아래 셋째 자리에서 반올림해 한 줄에 출력한다. 소수점 아래 두 자리를 항상 모두 적는다. 예를 들어 거리가 4이면 4.00으로 출력한다. 두 함선 사이의 거리는 항상 0보다 크고, 반올림 결과가 갈리는 경계에 정확히 놓이는 경우는 없다.