#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
double distance(double x1, double y1, double x2, double y2) {
return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
double calculateArea(double p, double AB, double BC, double CA) {
double DF = p * AB;
double DE = p * BC;
double EF = p * CA;
double pDEF = (DF + DE + EF) / 2;
return sqrt(pDEF * (pDEF - DF) * (pDEF - DE) * (pDEF - EF));
}
int main() {
double l, r, x1, y1, x2, y2, x3, y3;
cin >> l >> r >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
double AB = distance(x1, y1, x2, y2);
double BC = distance(x2, y2, x3, y3);
double CA = distance(x3, y3, x1, y1);
double minArea = numeric_limits<double>::max();
double bestP = 0;
for (double p = l; p <= r; p += 0.0001) {
double area = calculateArea(p, AB, BC, CA);
if (area < minArea) {
minArea = area;
bestP = p;
}
}
cout << fixed << setprecision(8) << minArea << endl;
return 0;
}