#include <bits/stdc++.h>
using namespace std;

struct point {
    double x, y;
    point(double A, double B) {
        x = A, y = B;
    }
    point() = default;
};

struct line {
    point point_A, point_B;
    line(point A, point B) {
        point_A = A, point_B = B;
    }
    line() = default;
};

double getDistance(point P, line L) {
    // TODO: 计算点P到直线L的距离
    double a = P.x;
    double b = P.y;
    double x1 = L.point_A.x;
    double y1 = L.point_A.y;
    double x2 = L.point_B.x;
    double y2 = L.point_B.y;
    double S = fabs((a-x2)*(b-y1)-(a-x1)*(b-y2));
    double h = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    return fabs(S/h);
}
//这里用的是向量叉积,以知两个在线上的点P(a,b),和线外的点A(x1,y1),B(x2,y2)
//我们可以算出向量PA和PB,然后做PA和·PB的叉积
//注:(a,b)叉乘法(c,d)= a*d-b*c;
//这个运算的几何意义为两个线段构成的对应的平行四边形,而其1/2就为三角形PAB的面积S
//这时候用两点之间的坐标公式,计算出AB的距离,最后就可以算出高度h(S = (1/2)*a*b);
//h就是距离














































































































int main() {
    int a, b, sx, sy, tx, ty;
    cin >> a >> b >> sx >> sy >> tx >> ty;
    point A(sx, sy), B(tx, ty), C(a, b);
    line L(A, B);
    printf("%.2lf", getDistance(C, L));
    return 0;
}