#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define PI 3.14159

double length(int x1, int y1, int x2, int y2) {
    double a = (double)abs(x2-x1);
    double b = (double)abs(y2-y1);

    return sqrt(a*a+b*b);
}
double radius(double A,double B,double C,double r) {
    return (r*(1+tan(B/4))*(1+tan(C/4))/(2*(1+tan(A/4))));
}
double space(double a,double b,double c) {
    //return (0.5*b*c*sin(a/b))/2;
    double s;
    s = (a+b+c)/2;
    return sqrt(s*(s-a)*(s-b)*(s-c));
}
double height(double c,double S) {
    return 2*(S/c);
}
double radian(double b,double h) {
    return asin(h/b);
}
double naisetu_r(double a,double b,double c,double S) {
    return 2*S/(a+b+c);
}

int main(void) {
    int x[3];
    int y[3];
    int i,j;
    double a,b,c;
    double inst[3];
    int max;
    int num;
    double r[3];
    double A,B,C;
    double h;
    double S;

    while(1) {
        scanf("%d %d %d %d %d %d",&x[0],&y[0],&x[1],&y[1],&x[2],&y[2]);
        if(x[0] == 0 && y[0] == 0 && x[1] == 0 && y[1] == 0 && x[2] == 0 && y[2] == 0) break;

        for(i=0;i<3;i++) {
            if(i!=2) {
                inst[i] = length(x[i],y[i],x[i+1],y[i+1]);
            }
            else inst[i] = length(x[i],y[i],x[0],y[0]);
        }

        max = 0;

        for(i=0;i<3;i++) {
            if(i==0 || max < inst[i]) {
                max = inst[i];
                num = i;
            }
        }

        if(num == 2) {
            c = inst[2];
            a = inst[0];
            b = inst[1];
        }
        else if(num == 1) {
            c = inst[1];
            a = inst[2];
            b = inst[0];
        }
        else {
            c = inst[0];
            a = inst[1];
            b = inst[2];
        }
        a = fabs(a);
        b = fabs(b);
        c = fabs(c);
        //printf("(a,b,c)=(%f,%f,%f)\n",a,b,c);
        S = space(a,b,c);
        h = height(c,S);
        A = radian(b,h);
        B = radian(a,h);
        C = PI-(A+B);
        //printf("(S,h,A,B,C)=(%f,%f,%f,%f,%f)\n",S,h,A,B,C);
        r[0] = radius(A,B,C,naisetu_r(a,b,c,S));
        r[1] = radius(B,C,A,naisetu_r(a,b,c,S));
        r[2] = radius(C,A,B,naisetu_r(a,b,c,S));

        printf("%f %f %f\n",r[0],r[1],r[2]);
    }
}