Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

Circumscribed Circle of A Triangle.

Write a program which prints the central coordinate $(p_x, p_y)$ and the radius $r$ of a circumscribed circle of a triangle which is constructed by three points $(x_1, y_1)$, $(x_2, y_2)$ and $(x_3, y_3)$ on the plane surface.

Input

Input consists of several datasets. In the first line, the number of datasets $n$ is given. Each dataset consists of:

$x_1$ $y_1$ $x_2$ $y_2$ $x_3$ $y_3$

in a line. All the input are real numbers.

Output

For each dataset, print $p_x$, $p_y$ and $r$ separated by a space in a line. Print the solution to three places of decimals. Round off the solution to three decimal places.

Constraints

$-100 \leq x_1, y_1, x_2, y_2, x_3, y_3 \leq 100$

$ n \leq 20$

Sample Input

1
0.0 0.0 2.0 0.0 2.0 2.0

Output for the Sample Input

1.000 1.000 1.414

Solution in Ruby (judge verdict: Accepted)

gets
while s=gets
  x1,y1,x2,y2,x3,y3 = s.split.map(&:to_f)
  x1,y1,x2,y2 = x2,y2,x1,y1 if y1==y3
  x1,y1,x3,y3 = x3,y3,x1,y1 if y1==y2
  x3,y3,x2,y2 = x2,y2,x3,y3 if y2==y3
  a1 = -(x2-x1)/(y2-y1)
  b1 = -a1*(x2+x1)/2+(y1+y2)/2
  a2 = -(x3-x1)/(y3-y1)
  b2 = -a2*(x3+x1)/2+(y1+y3)/2
  x = (b2-b1)/(a1-a2)
  y = (b1*a2-b2*a1)/(a2-a1)
  r = Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1))
  puts printf("%.3f %.3f %.3f", x, y, r)
end