#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) {
// 计算点P到直线L的距离
// 使用向量叉积公式: distance = |cross product| / |line length|
// 这个方法适用于所有情况,包括垂直线和水平线
double dx = L.point_B.x - L.point_A.x;
double dy = L.point_B.y - L.point_A.y;
// 计算叉积的绝对值: |(B-A) × (A-P)|
double crossProduct = fabs(dx * (L.point_A.y - P.y) - (L.point_A.x - P.x) * dy);
// 计算线段长度: |B-A|
double lineLength = sqrt(dx * dx + dy * dy);
// 距离 = 叉积 / 线段长度
double distance = crossProduct / lineLength;
return distance;
}
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;
}