#include<bits/stdc++.h>
using namespace std;
int main()
{
double x1, y1, x2, y2, x3, y3;
while(scanf("%lf %lf", &x1, &y1)==2)
{
if(x1==0.0 && y1==0.0) break;
scanf("%lf %lf %lf %lf", &x2, &y2, &x3, &y3);
double dis = (x1-x2)*(y2-y3) - (x2-x3)*(y1-y2);
cout<<dis<<endl;
if(dis==0.0)
{
printf("Impossible\n");
continue;
}
double A, B, H, K, calc1, calc2, X1, Y1, X2, Y2;
A = fabs((x1*x1) + (y1*y1) - (x2*x2) - (y2*y2));
B = fabs((x2*x2) + (y2*y2) - (x3*x3) - (y3*y3));
X1 = fabs(x1-x2);
Y1 = fabs(y1-y2);
X2 = fabs(x2-x3);
Y2 = fabs(y2-y3);
H = (A*Y2) - (B*Y1);
calc1 = 2.0 * ((X1*Y2)-(X2*Y1));
H = H/(calc1);
K = (B - (2.0*H*X2))/Y2;
K = K/2.0;
cout<<H<<' '<<K<<endl;
double disone, distwo, disthree;
disone = sqrt((x1-H)*(x1-H) + (y1-K)*(y1-K));
distwo = sqrt((x2-H)*(x2-H) + (y2-K)*(y2-K));
disthree = sqrt((x3-H)*(x3-H) + (y3-K)*(y3-K));
cout<<disone<<' '<<distwo<<' '<<disthree<<endl;
if(disone==distwo && distwo==disthree)
{
cout<<H<<' '<<K<<endl;
}
else
printf("Impossible\n");
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIGRvdWJsZSB4MSwgeTEsIHgyLCB5MiwgeDMsIHkzOwogICAgd2hpbGUoc2NhbmYoIiVsZiAlbGYiLCAmeDEsICZ5MSk9PTIpCiAgICB7CiAgICAgICAgaWYoeDE9PTAuMCAmJiB5MT09MC4wKSBicmVhazsKICAgICAgICBzY2FuZigiJWxmICVsZiAlbGYgJWxmIiwgJngyLCAmeTIsICZ4MywgJnkzKTsKICAgICAgICBkb3VibGUgZGlzID0gKHgxLXgyKSooeTIteTMpIC0gKHgyLXgzKSooeTEteTIpOwogICAgICAgIGNvdXQ8PGRpczw8ZW5kbDsKICAgICAgICBpZihkaXM9PTAuMCkKICAgICAgICB7CiAgICAgICAgICAgIHByaW50ZigiSW1wb3NzaWJsZVxuIik7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBkb3VibGUgQSwgQiwgSCwgSywgY2FsYzEsIGNhbGMyLCBYMSwgWTEsIFgyLCBZMjsKICAgICAgICBBID0gZmFicygoeDEqeDEpICsgKHkxKnkxKSAtICh4Mip4MikgLSAoeTIqeTIpKTsKICAgICAgICBCID0gZmFicygoeDIqeDIpICsgKHkyKnkyKSAtICh4Myp4MykgLSAoeTMqeTMpKTsKICAgICAgICBYMSA9IGZhYnMoeDEteDIpOwogICAgICAgIFkxID0gZmFicyh5MS15Mik7CiAgICAgICAgWDIgPSBmYWJzKHgyLXgzKTsKICAgICAgICBZMiA9IGZhYnMoeTIteTMpOwogICAgICAgIEggPSAoQSpZMikgLSAoQipZMSk7CiAgICAgICAgY2FsYzEgPSAyLjAgKiAoKFgxKlkyKS0oWDIqWTEpKTsKICAgICAgICBIID0gSC8oY2FsYzEpOwogICAgICAgIEsgPSAoQiAtICgyLjAqSCpYMikpL1kyOwogICAgICAgIEsgPSBLLzIuMDsKICAgICAgICBjb3V0PDxIPDwnICc8PEs8PGVuZGw7CiAgICAgICAgZG91YmxlIGRpc29uZSwgZGlzdHdvLCBkaXN0aHJlZTsKICAgICAgICBkaXNvbmUgPSBzcXJ0KCh4MS1IKSooeDEtSCkgKyAoeTEtSykqKHkxLUspKTsKICAgICAgICBkaXN0d28gPSBzcXJ0KCh4Mi1IKSooeDItSCkgKyAoeTItSykqKHkyLUspKTsKICAgICAgICBkaXN0aHJlZSA9IHNxcnQoKHgzLUgpKih4My1IKSArICh5My1LKSooeTMtSykpOwogICAgICAgIGNvdXQ8PGRpc29uZTw8JyAnPDxkaXN0d288PCcgJzw8ZGlzdGhyZWU8PGVuZGw7CiAgICAgICAgaWYoZGlzb25lPT1kaXN0d28gJiYgZGlzdHdvPT1kaXN0aHJlZSkKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQ8PEg8PCcgJzw8Szw8ZW5kbDsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgICAgICBwcmludGYoIkltcG9zc2libGVcbiIpOwoKICAgIH0KICAgIHJldHVybiAwOwp9Cg==