#include<iostream>#include<sstream>#include<vector>#include<list>#include<deque>#include<queue>#include<stack>#include<map>#include<set>#include<bitset>#include<algorithm>#include<cstdio>#include<cstdlib>#include<cstring>#include<cctype>#include<cmath>#include<ctime>using namespace std;const double eps(1e-8);typedef long long lint;#define clr(x) memset( x , 0 , sizeof(x) )#define sz(v) ((int)(v).size())#define rep(i, n) for (int i = 0; i < (n); ++i)#define repf(i, a, b) for (int i = (a); i <= (b); ++i)#define repd(i, a, b) for (int i = (a); i >= (b); --i)#define clrs( x , y ) memset( x , y , sizeof(x) )struct Point { double x, y;} a, b, c;double Dis(Point p1, Point p2) { return sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));}int main() { double A, B, C; while (scanf("%lf%lf", &a.x, &a.y) == 2) { scanf("%lf%lf", &b.x, &b.y); scanf("%lf%lf", &c.x, &c.y); double Dab = Dis(a, b); double Dac = Dis(a, c); double Dbc = Dis(b, c); B = (Dab - Dac + Dbc) / 2; C = Dbc - B; A = Dab - B; printf("%.6fn", A); printf("%.6fn", B); printf("%.6fn", C); } }