유클리드

시간 제한1초메모리 제한128 MB

문제

유클리드는 다음 문제를 풀기 위한 복잡한 작도 과정을 공책에 적어 두었다. 하지만 컴퓨터를 이용하면 쉽게 구할 수 있다.

이차원 평면 위에 선분 $AB$, 점 $C$, 그리고 삼각형 $DEF$가 있다. 점 $C$는 직선 $AB$ 위에 있지 않다. 즉, 세 점 $A$, $B$, $C$는 한 직선 위에 있지 않으므로 넓이가 0이 아닌 평행사변형을 만들 수 있다. 이때 다음 조건을 만족하는 점 $G$와 $H$를 찾아야 한다.

  1. $H$는 점 $A$에서 시작해 $C$를 지나는 반직선 위에 있다.
  2. $ABGH$는 (이 순서대로 꼭짓점을 잇는) 평행사변형이다.
  3. 평행사변형 $ABGH$의 넓이는 삼각형 $DEF$의 넓이와 같다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 12개의 실수로 주어지며, 모두 소수점 아래 3자리를 넘지 않는다.

AX AY BX BY CX CY DX DY EX EY FX FY

$A$의 좌표는 $(AX, AY)$, $B$의 좌표는 $(BX, BY)$이며 나머지 점도 같은 방식이다. 점 $A$, $B$, $C$는 서로 다르고 한 직선 위에 있지 않으며, $D$, $E$, $F$는 삼각형을 이룬다(마찬가지로 서로 다르고 한 직선 위에 있지 않으므로 넓이가 양수이다). 모든 수는 $-1000.0$ 이상 $1000.0$ 이하이다. 입력의 마지막 줄은 12개의 $0.0$으로 이루어진다.

출력

각 테스트 케이스마다 네 개의 실수, 즉 점 $G$와 $H$의 좌표를 다음 형식으로 출력한다.

GX GY HX HY

여기서 $G = (GX, GY)$, $H = (HX, HY)$이다. 모든 값은 소수점 넷째 자리에서 반올림하여 셋째 자리까지, 즉 소수점 아래 정확히 3자리로 출력한다. 이웃한 두 수 사이에는 공백 하나를 출력한다.