#include <bits/stdc++.h>
#include <cmath>
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的距离
    if(L.point_A.x==L.point_B.x){
    double vec=fabs(L.point_A.x-P.x);
    return vec;
    }
  //特殊判例其实是直线垂直于x轴时的情况,此时k无穷大(或者说k不存在),所以输出的值是nan
  //以上的if判断了垂直情况,随后对距离进行计算
  
  //以下是一般情况,点到直线距离公式:|Ax0+By0+C|/√A平方+B平方
 
    double k=(L.point_A.y-L.point_B.y)/(L.point_A.x-L.point_B.x);//计算k值,即公式中的A
    double sq=sqrt(k*k+1);//公式中的分母
    double ret=(fabs(-k*P.x+P.y+L.point_A.x*k-L.point_A.y))/sq;//套公式
    return ret;
}















































































































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