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();
}
}