Q=gets.to_i Inputs=gets(p).split.map(&:to_r) def read() x,y=Inputs.shift(2) return x+y*1i end def assert(f) raise "Error" unless f end x=[read(),read(),read()] assert(x.uniq.size==3) def cross(a,b) return a.real*b.imag-a.imag*b.real end def parallel(a,b) return cross(a,b)==0 end o=0+0i r=10**20 if !parallel(x[1]-x[0],x[2]-x[0]) def line(x,y) a1=(x+y)/2 t=y-x a2=Complex(a1.real-t.imag,a1.imag+t.real) return a1,a2 end a1,a2=line(x[0],x[1]) b1,b2=line(x[0],x[2]) d1=cross(a2-a1,b1-a1) d2=-cross(a2-a1,b2-a1) assert(d1+d2!=0) o=b1+(b2-b1)*(d1/(d1+d2)) r=x.map{|x|(x-o).abs2} assert(r.uniq.size==1) r=r.max end x.combination(2).each{|a,b| no=(a+b)/2 nr=(a-b).abs2/4 if nr