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)

require 'matrix'

gets
ARGF.each_line do |line|
  x1, y1, x2, y2, x3, y3 = line.split.map(&:to_r)
  a = Vector[x1, y1]
  b = Vector[x2, y2]
  c = Vector[x3, y3]

  ab = b - a
  bc = c - b
  ca = a - c

  ar = bc.r
  br = ca.r
  cr = ab.r

  as = ar**2
  bs = br**2
  cs = cr**2

  q1 = (as * (bs + cs - as) * a + bs * (as + cs - bs) * b + cs * (as + bs - cs) * c)
  q2 = 2 * (as * bs + bs * cs + cs * as) - (as**2 + bs**2 + cs**2)
  rcc =  q1 / q2

  s1 = ar * br * cr
  s2 = Math.sqrt((ar + br + cr) * (-ar + br + cr) * (ar - br + cr) * (ar + br - cr))
  r = s1 / s2

  puts [*rcc.to_a, r].map{|e| format("%.3f", e) }.join("\s")
end