import java.text.DecimalFormat; import java.util.Scanner; public class euclid { public static void main(String args[]){ Scanner in = new Scanner(System.in); boolean notzeros = true; double[] a = new double[2]; double[] b = new double[2]; double[] c = new double[2]; double[] d = new double[2]; double[] e = new double[2]; double[] f = new double[2]; while(notzeros){ a[0] = in.nextDouble(); a[1] = in.nextDouble(); b[0] = in.nextDouble(); b[1] = in.nextDouble(); c[0] = in.nextDouble(); c[1] = in.nextDouble(); d[0] = in.nextDouble(); d[1] = in.nextDouble(); e[0] = in.nextDouble(); e[1] = in.nextDouble(); f[0] = in.nextDouble(); f[1] = in.nextDouble(); DecimalFormat df = new DecimalFormat("###0.000"); if(a[0]==0&&a[1]==0&&b[0]==0&&b[1]==0&&c[0]==0&&c[1]==0&&d[0]==0&&d[1]==0&&e[0]==0&&e[1]==0&&f[0]==0&&f[1]==0){ notzeros = false; } else{ double area = Math.abs((d[0]*(e[1]-f[1])+e[0]*(f[1]-d[1])+f[0]*(d[1]-e[1]))/2); double areapar = Math.abs((c[0]-a[0])*(b[1]-a[1])-(c[1]-a[1])*(b[0]-a[0])); double cons = areapar/area; double hx = (a[0])-(a[0]-c[0])/cons; double hy = (a[1])-(a[1]-c[1])/cons; double ca = (c[0]-a[0])/(c[1]-a[1]); double cb = b[0] - hx; double cd = (b[0]-a[0])/(b[1]-a[1]); double gy = 0.0; double gx = 0.0; if(c[1]-a[1]==0){ gy = b[1]; gx = b[0]+hx-a[0]; } else if(b[1]-a[1]==0){ gy = hy; gx = ca*(gy-b[1])+b[0]; } else{ gy = (ca*b[1] - cd*hy - cb)/(ca-cd); gx = ca*(gy-b[1])+b[0]; } String yg = df.format(gy); String xg = df.format(gx); String yh = df.format(hy); String xh = df.format(hx); System.out.printf("%s %s %s %s\n",xg,yg,xh,yh); } } } }