/**
 * 2009??´ ??¢?????¢G
 * icpc??´?????????
 **/

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

typedef struct {
    double x;
    double y;
} Point;

double length(Point p1, Point p2) {
    double x = p2.x - p1.x;
    double y = p2.y - p1.y;

    x = x*x;
    y = y*y;

    return sqrt(x+y);
}
double radius(double A,double B,double C,double r) {
    
    double ans = ( r*((1.0+tan(B*0.25)) *(1.0+tan(C*0.25)) ) ); //
    //printf("%lf\n",ans);
    ans /= (2.0*(1.0+tan(A*0.25) ) );
    return ans;
}
double space(double a,double b,double c) {
    double s;
    s = (a+b+c)*0.5;
    return sqrt(s*(s-a)*(s-b)*(s-c));
}
double height(double c,double S) {
    return ((S/c)*2.0);
}
double radian(double b,double h) {
    return asin(h/b);
}
double naisetu_r(double a,double b,double c,double S) {
    return (S/(a+b+c))*2.0;
}

int main(void) {
    Point p[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;
    double R;
    int buff;

    while(1) {
        scanf("%lf %lf %lf %lf %lf %lf",&p[0].x, &p[0].y, &p[1].x, &p[1].y, &p[2].x, &p[2].y);

        if(p[0].x==0 && p[0].y==0 && p[1].x==0 && p[1].y==0 && p[2].x==0 && p[2].y==0)
            break;

        for(i=0;i<3;i++) {
            if(i==2) inst[i] = length(p[i], p[0]);
            else {
                inst[i] = length(p[i], p[i+1]);
            }
            //printf("(%lf %lf),",p[i].x ,p[i].y);
            //printf("(%lf),",inst[i]);
        }
        //printf("\n");
        a = inst[1];
        b = inst[2];
        c = inst[0];

        //printf("(a,b,c)=(%f,%f,%f)\n",a,b,c);

        S = space(a,b,c);
        //
        if(a>=b && a>=c) {
            h = height(a,S);
            B = radian(c,h);
            C = radian(b,h);
            A = M_PI-B-C;
      }
        else if(b>=c && b>=a) {
            h = height(b,S);
            C = radian(a,h);
            A = radian(c,h);
            B = M_PI-A-C;

        }
        else {
            h = height(c,S);
            A = radian(b,h);
            B = radian(a,h);
            C = M_PI-A-B;

        }
        //
        //A = radian(b,h);
        //B = radian(a,h);
        //C = M_PI-A-B;
        R = naisetu_r(a,b,c,S);
        //printf("(S,h,A,B,C,R)=(%f,%f,%f,%f,%f,%f)\n",S,h,A,B,C,naisetu_r(a,b,c,S));
        r[0] = radius(A,C,B,R);
        r[1] = radius(B,A,C,R);
        r[2] = radius(C,B,A,R);

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