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)

class TwoPoints
  def initialize(array)
      @x1, @y1, @x2, @y2 = array
  end

  attr_accessor :x1, :y1, :x2, :y2

  def bisector
    return [
      @x2 - @x1,
      @y2 - @y1,
      (@x2 ** 2 + @y2 ** 2 - @x1 ** 2 - @y1 ** 2) / 2.0
    ]
  end

  def distance
    return Math.sqrt(((@x2 - @x1) ** 2 + (@y2 - @y1) ** 2).abs)
  end
end

class Simultaneous
  def initialize(array)
    @a,@b,@c,@d,@e,@f = array
  end

  attr_accessor :a,:b,:c,:d,:e,:f

  def calc
    x = (@c * @e - @b * @f) / (@a * @e - @b * @d).to_f
    y = (@c * @d - @a * @f) / (@b * @d - @a * @e).to_f
    x = 0 if x.abs == 0.0
    y = 0 if y.abs == 0.0
    return [x, y]
  end
end

gets.to_i.times do
  data = gets.split(" ").map(&:to_f)
  center = Simultaneous.new(TwoPoints.new(data.slice(0, 4)).bisector + TwoPoints.new(data.slice(2, 4)).bisector).calc
  radius = TwoPoints.new(data.slice(0, 2) + center).distance
  puts sprintf("%.3f %.3f %.3f", center[0], center[1], radius)
end