import java.util.Scanner;

public class Main {
    static class Point {
        double x, y;

        Point(double a, double b) {
            x = a;
            y = b;
        }
    }

    static class Triangle {
        Point a, b, c;

        Triangle(Point a, Point b, Point c) {
            this.a = a;
            this.b = b;
            this.c = c;
        }
    }

    static double getArea(Triangle T) {
        double x = Math.pow(T.a.x - T.b.x, 2);
        double y = Math.pow(T.a.y - T.b.y, 2);
        double d = Math.pow(x + y, 0.5);//线ab距离
        //求c到线ab距离
        double A = T.b.y - T.a.y;
        double B = T.a.x - T.b.x;
        double C = -B * T.a.y + T.a.x * (-A);
        double temp = Math.pow(A, 2) + Math.pow(B, 2);
        double lower = Math.pow(temp, 0.5);
        temp = A * T.c.x + B * T.c.y + C;
        double upper = Math.abs(temp);
        double d1 = upper/lower;
        double S = d*d1/2;
        return S;
    }


    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x, y;

        x = scanner.nextInt();
        y = scanner.nextInt();
        Point a = new Point(x, y);

        x = scanner.nextInt();
        y = scanner.nextInt();
        Point b = new Point(x, y);

        x = scanner.nextInt();
        y = scanner.nextInt();
        Point c = new Point(x, y);

        Triangle T = new Triangle(a, b, c);
        System.out.printf("%.2f%n", getArea(T));
        scanner.close();
    }
}