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: Wrong Answer)

def vslope(x, y)
  return 0 if x.zero?
  -Rational(x, y)
end

STDIN.gets.chomp.to_i.times do
  STDIN.read.split("\n").each do |data|
    x1, y1, x2, y2, x3, y3 = data.split.map { |i| i.chomp.to_f }
    a = { x: (x1 + x3) / 2, y: (y1 + y3) / 2 }
    begin
      am = vslope(x3 - x1, y3 - y1)
      a0 = a[:y] - (am * a[:x])
      # y = am * x + a0
    rescue ZeroDivisionError
      am = 0
      a0 = a[:x]
      fix_a = true
      # x = a0
    end

    b = { x: (x2 + x3) / 2, y: (y2 + y3) / 2 }
    begin
      bm = vslope(x3 - x2, y3 - y2)
      b0 = b[:y] - (bm * b[:x])
      # y = bm * x + b0
    rescue ZeroDivisionError
      bm = 0
      b0 = b[:x]
      # x = b0
      fix_b = true
    end

    if fix_a
      x = a0
      y = bm * x + b0
    elsif fix_b
      x = b0
      y = am * x + a0
    else
      x = am - bm == 0 ?  0 : (b0 - a0) / (am - bm)
      y = am * x + a0
    end

    r = Math.sqrt((x-x1)**2 + (y-y1)**2).round(3)

    puts [x, y, r]
  end
end