eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач

Ellipse

Лимит времени 5 секунд
Лимит использования памяти 64 MiB

Alex has got a tedious homework from his geometry teacher as a punishment for his conduct at geometry lessons — Alex didn't do anything while the rest of his class was computing areas of different geometric figures!

Now, Alex has to compute the areas of several ellipses drawn on a sheet of paper torn from a textbook. This paper has a rectangular grid drawn on it which can be used to determine the coordinates of different points. However, the task of finding the area of an ellipse can be quite complicated even in this case, especially if the axes of the ellipse are not vertical or horizontal.

Of course, Alex is very lazy, so he wants you to write a program that would determine the area of an ellipse from the coordinates of five different points lying on it. He would then enter the coordinates of these points for each ellipse himself and thus compute the areas of all ellipses.

Входные данные

The first line of the input contains the number of ellipses k (1k1000). Each of the next k lines contains the coordinates of five points that lie on corresponding ellipse. All coordinates are integer and do not exceed 1000 by their absolute values.

Выходные данные

On each of k lines of the output write either "IMPOSSIBLE" if the area cannot be determined (e.g. there is no ellipse passing through five given points, or there is more than one such ellipse) or the area itself precise to six digits after decimal point. Note that whenever such an ellipse exists, it always fits completely into the textbook page, i.e. all points (x, y) of the ellipse satisfy inequalities |x|, |y|1000.

Пример

Входные данные #1
3
5  0   0  5    4  3    3  4   -4 -3 
6  1   3  2   -2 -3   -3 -2    1  6
7 -3   2  7    6  3    5  5   -2 -9 
Выходные данные #1
78.5398163397
IMPOSSIBLE
157.0796326795
Источник Northeastern Europe 2004, Northern Subregion