xa,ya,ta,x11,y11,x12,y12,x21,y21,x22,y22=$<.read.split.map(&:to_f) za=xa+ya*1i z11=x11+y11*1i z12=x12+y12*1i z21=x21+y21*1i z22=x22+y22*1i dp=z11-z12 dq=z21-z22 zb=(za*dp+z21*z12-z22*z11)/dq tb=(ta+(dp.arg-dq.arg)*180/Math::PI)%360.0 puts [*zb.rect,tb]*?\s