#include <iostream>
using namespace std;
int main()
{
double Ax, Ay, Az, Bx, By, Bz, Cx, Cy, Cz, V;
cin >> Ax >> Ay >> Az >> Bx >> By >> Bz >> Cx >> Cy >> Cz; //Считывание координат векторов.
V = (Ax * (By * Cz - Bz * Cy) - Bx * (Ay * Cz - Az * Cy) + Cx * (Ay * Bz - Az * By)) / 6.0; //Подсчитывание объёма.
if (V < 0) V *= -1; //Определитель матрицы может быть отрицательным числом, объём - нет. Поэтому если объём отрицательный, умножаем его на -1.
cout << V; //Вывод объёма.
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7Cglkb3VibGUgQXgsIEF5LCBBeiwgQngsIEJ5LCBCeiwgQ3gsIEN5LCBDeiwgVjsKCWNpbiA+PiBBeCA+PiBBeSA+PiBBeiA+PiBCeCA+PiBCeSA+PiBCeiA+PiBDeCA+PiBDeSA+PiBDejsgLy/QodGH0LjRgtGL0LLQsNC90LjQtSDQutC+0L7RgNC00LjQvdCw0YIg0LLQtdC60YLQvtGA0L7Qsi4KCVYgPSAoQXggKiAoQnkgKiBDeiAtIEJ6ICogQ3kpIC0gQnggKiAoQXkgKiBDeiAtIEF6ICogQ3kpICsgQ3ggKiAoQXkgKiBCeiAtIEF6ICogQnkpKSAvIDYuMDsgLy/Qn9C+0LTRgdGH0LjRgtGL0LLQsNC90LjQtSDQvtCx0YrRkdC80LAuCglpZiAoViA8IDApIFYgKj0gLTE7IC8v0J7Qv9GA0LXQtNC10LvQuNGC0LXQu9GMINC80LDRgtGA0LjRhtGLINC80L7QttC10YIg0LHRi9GC0Ywg0L7RgtGA0LjRhtCw0YLQtdC70YzQvdGL0Lwg0YfQuNGB0LvQvtC8LCDQvtCx0YrRkdC8IC0g0L3QtdGCLiDQn9C+0Y3RgtC+0LzRgyDQtdGB0LvQuCDQvtCx0YrRkdC8INC+0YLRgNC40YbQsNGC0LXQu9GM0L3Ri9C5LCDRg9C80L3QvtC20LDQtdC8INC10LPQviDQvdCwIC0xLgoJY291dCA8PCBWOyAvL9CS0YvQstC+0LQg0L7QsdGK0ZHQvNCwLgp9