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)

def format(n)
  return sprintf "%.3f", (n*1000).round / 1000.0
end
n = gets.to_i

n.times{
  x1, y1, x2, y2, x3, y3 = gets.split.map(&:to_f)
  a = (x2-x3)**2+(y2-y3)**2
  b = (x3-x1)**2+(y3-y1)**2
  c = (x1-x2)**2+(y1-y2)**2
  aa = a*(b+c-a)
  bb = b*(c+a-b)
  cc = c*(a+b-c)
  x0 = (aa * x1 + bb * x2 + cc * x3) / (aa + bb + cc)
  y0 = (aa * y1 + bb * y2 + cc * y3) / (aa + bb + cc)
  r = Math.sqrt((x1-x0)**2+(y1-y0)**2)
  x0 = format(x0)
  y0 = format(y0)
  r = format(r)
  puts "#{x0} #{y0} #{r}"
}