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)

include Math
gets.to_i.times do
  x1, y1, x2, y2, x3, y3 = gets.split(' ').map(&:to_f)

  a = ((x3 - x2) ** 2 + (y3 - y2) ** 2) ** 0.5
  b = ((x3 - x1) ** 2 + (y3 - y1) ** 2) ** 0.5
  c = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5

  cosA = (-a ** 2 + b **2 + c ** 2) / (2 * b * c)
  cosB = (a ** 2 - b **2 + c ** 2) / (2 * a * c)
  cosC = (a ** 2 + b **2 - c ** 2) / (2 * a * b)

  sin2A = sin(2 * acos(cosA))
  sin2B = sin(2 * acos(cosB))
  sin2C = sin(2 * acos(cosC))

  px = (x1 * sin2A + x2 * sin2B + x3 * sin2C) / (sin2A + sin2B + sin2C)
  py = (y1 * sin2A + y2 * sin2B + y3 * sin2C) / (sin2A + sin2B + sin2C)
  r = (((px - x1) ** 2 + (py - y1) ** 2) ** 0.5).round(3)

  # puts "#{px.round 3} #{py.round 3} #{r}"
  puts "%.3f %.3f %.3f" % [px, py, r]
end