세 구와 사면체
시간 제한1초메모리 제한1024 MB
꼭짓점 O, A, B, C를 가진 사면체가 주어졌을 때, 내접구와 네 개의 방접구에 접하면서 A, B, C를 지나는 구의 중심과 반지름을 구합니다.
문제
꼭짓점 , , , 를 가진 사면체 가 주어진다.
구 (빨간색, 중심 )은 사면체에 내접하며, 면 (회색), (갈색), (자홍색), (청록색과 검은색)의 안쪽에 각각 접한다.
두 번째 구 (초록색, 중심 )는 , , 의 (연장된) 안쪽과 의 바깥쪽에 접한다. 이런 구는 면마다 하나씩 있으며, 그 면의 바깥쪽과 나머지 연장된 면들의 안쪽에 접한다.
세 번째이자 가장 큰 구 (파란색, 중심 )은 꼭짓점 , , 를 지나고, 과 에 각각 접한다. 작은 구들의 바깥쪽이 가장 큰 구의 안쪽에 닿는다. 삼각형 는 첫 번째 그림에서는 청록색, 두 번째 그림에서는 검은색으로 표시했다.

그림 1은 이 배치를 두 가지 다른 시점에서 보여준다.
그림 2는 방향에서 본 모습으로, 두 작은 구가 와 에 접한 것을 보여준다(왼쪽). 방향에서 본 그림은 두 작은 구가 에 접하고, 의 서로 반대편에 있음을 보여준다(오른쪽).

그림 3은 가 , , 를 지나고 , 에 접하는 모습이다. 왼쪽은 , , 의 평면에 수직인 방향에서 본 것으로, 가 와 를 지난다. 가운데는 , , 의 평면에 수직인 방향에서 본 것으로, 가 와 를 지난다. 오른쪽은 , , 의 평면에 수직인 방향에서 본 것으로, 과 가 의 안쪽에 접한다.

꼭짓점 , , , 를 입력받아 큰 구의 중심과 반지름을 구하는 프로그램을 작성하라. 나머지 두 구를 구하는 과정도 여기에 포함된다.
입력
는 원점 이다. 는 양의 축 위의 에 있고, 는 평면 위의 에 있다. 는 제1 옥탄트의 에 있다. , , 는 0보다 크고, 나머지 값은 0 이상이다.
입력은 한 줄이며, 배정밀도 실수 여섯 개 , , , , , 가 이 순서대로 주어진다. 조건은 이고 이다.
출력
출력은 한 줄이며, 큰 구의 , , , 를 소수점 아래 넷째 자리까지 출력한다.