#include<cmath>
#include<cstdio>
#include<algorithm>

#define	rep(i,n)	for(int i=0;i<n;i++)

using namespace std;

int main(){
	for(int x1,y1,x2,y2,x3,y3;scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3),x1||y1||x2||y2||x3||y3;){
		double a,b,c;
		a=hypot(x2-x3,y2-y3);
		b=hypot(x3-x1,y3-y1);
		c=hypot(x1-x2,y1-y2);
		double A,B,C;
		A=acos((b*b+c*c-a*a)/(2.*b*c))/2;
		B=acos((c*c+a*a-b*b)/(2.*c*a))/2;
		C=acos((a*a+b*b-c*c)/(2.*a*b))/2;

		double cotA,cotB,cotC;
		cotA=cos(A)/sin(A);
		cotB=cos(B)/sin(B);
		cotC=cos(C)/sin(C);

		double s=(a+b+c)/2;
		double area=sqrt(s*(s-a)*(s-b)*(s-c));

		double r1,r2,r3;
		double r1min=0.05,r1max=2*area/(a+b+c);
		rep(i,50){
			r1=(r1min+r1max)/2;
			r2=(-sqrt(r1)+sqrt(r1+cotB*(c-r1*cotA)))/cotB;	r2=r2*r2;
			r3=(-sqrt(r1)+sqrt(r1+cotC*(b-r1*cotA)))/cotC;	r3=r3*r3;
			if(r2*cotB+2*sqrt(r2*r3)+r3*cotC<a)	r1max=r1;
			else								r1min=r1;
		}
		printf("%f %f %f\n",r1,r2,r3);
	}

	return 0;
}