import java.util.*;
import java.lang.*;
import java.io.*;
class Main{
Scanner in
= new Scanner
(System.
in); double ax = in.nextDouble();
double ay = in.nextDouble();
double az = in.nextDouble();
double bx = in.nextDouble();
double by = in.nextDouble();
double bz = in.nextDouble();
double cx = in.nextDouble();
double cy = in.nextDouble();
double cz = in.nextDouble();
double A1A2
= Math.
sqrt(ax
*ax
+ay
*ay
+az
*az
); //вычислим длину ребра А1A2 double A1A3
= Math.
sqrt(bx
*bx
+by
*by
+bz
*bz
);//вычислим длину ребра А1A3 double cosa =(ax*bz+ay*by+az*bz)/(A1A2*A1A3);//вычислим косинус угла между ребрами А1A2 и А1A3
double sina
= Math.
sqrt(1-cosa
*cosa
);//вычислим их синус double s1 = 0.5*A1A2*A1A3*sina;//найдём площадь поверхности
double A1A4
= Math.
sqrt(cx
*cx
+cy
*cy
+cz
*cz
);//вычислим длину ребра А1A4 double cosb =(ax*cx+ay*cy+az*cz)/(A1A2*A1A4);//вычислим косинус угла между ребрами А1A2 и А1A4
double sinb
= Math.
sqrt(1-cosb
*cosb
);//вычислим их синус double s2 = 0.5*A1A2*A1A4*sinb;//найдём площадь поверхности
double cosc =(bx*cx+by*cy+bz*cz)/(A1A2*A1A3);//вычислим косинус угла между ребрами А1A3 и А1A4
double sinc
= Math.
sqrt(1-cosc
*cosc
);//вычислим их синус double s3 = 0.5*A1A3*A1A4*sinc;//найдём площадь поверхности
double A2A3
= Math.
sqrt((cx
-bx
)*(cx
-bx
)+(cy
-by
)*(cy
-by
)+(cz
-bz
)*(cz
-bz
));//вычислим длину ребра А2A3 double A2A4
= Math.
sqrt((cx
-ax
)*(cx
-ax
)+(cy
-ay
)*(cy
-ay
)+(cz
-az
)*(cz
-az
));//вычислим длину ребра А2A4 double cosd =((cx-bx)*(cx-ax)+(cy-ay)*(cy-by)+(cz-az)*(cz-bz))/(A2A3*A2A4);//вычислим косинус угла между ребрами А2A3 и А2A4
double sind
= Math.
sqrt(1-cosd
*cosd
);//вычислим их синус double s4 = 0.5*A2A3*A2A4*sind;//найдём площадь поверхности
double s = s1+s2+s3+s4;//найдём площадь полной поверхности
System.
out.
println(s
) ;//выведем её результат }
}