타원

아직 제출이 없습니다시간 제한2초메모리 제한64 MB

문제

기하 수업 시간에 다른 학생들이 여러 도형의 넓이를 구하는 동안 아무것도 하지 않은 벌로, 알렉스는 기하 선생님에게서 지루한 숙제를 받았다.

이제 알렉스는 교과서에서 찢어낸 종이에 그려진 여러 개의 타원의 넓이를 구해야 한다. 이 종이에는 직사각형 격자가 그려져 있어 여러 점의 좌표를 읽어낼 수 있다. 그렇지만 타원의 축이 수직도 수평도 아닌 경우에는, 격자가 있더라도 타원의 넓이를 구하는 일이 꽤 까다로울 수 있다.

알렉스는 매우 게을러서, 타원 위에 있는 서로 다른 다섯 점의 좌표로부터 타원의 넓이를 구하는 프로그램을 여러분이 대신 작성해 주기를 바란다. 그러면 그는 각 타원마다 이 다섯 점의 좌표를 직접 입력하여 모든 타원의 넓이를 구할 것이다.

입력

첫째 줄에 타원의 개수 kk (1k10001 \le k \le 1\,000)가 주어진다. 이어지는 kk개의 줄 각각에는 해당 타원 위에 있는 다섯 점의 좌표가 x1 y1 x2 y2  x5 y5x_1\ y_1\ x_2\ y_2\ \dots\ x_5\ y_5 형태로 주어진다. 모든 좌표는 정수이며, 절댓값이 10001\,000을 넘지 않는다.

출력

각 타원에 대해 한 줄씩, 모두 kk개의 줄을 출력한다. 넓이를 결정할 수 없는 경우(주어진 다섯 점을 모두 지나는 타원이 존재하지 않거나, 그러한 타원이 둘 이상 존재하는 경우)에는 IMPOSSIBLE을 출력하고, 그렇지 않으면 타원의 넓이를 소수점 아래 여섯 자리까지 정확하게 출력한다. 그러한 타원이 존재할 때, 그 타원은 항상 교과서 페이지 안에 완전히 들어간다. 즉, 타원 위의 모든 점 (x,y)(x, y)x1000|x| \le 1\,000y1000|y| \le 1\,000을 만족한다.