/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;


public class Main {
    public static double distance (double X1,double X2,double Y1,double Y2)
    {
        return (Math.sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)));
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double A = sc.nextDouble();
        double B = sc.nextDouble();
        double C = sc.nextDouble();
        double X1 = sc.nextDouble();
        double Y1 = sc.nextDouble();
        double X2 = sc.nextDouble();
        double Y2 = sc.nextDouble();
        double Z2 = sc.nextDouble();
        double result_distance = Double.MAX_VALUE;
        if (Z2==0) result_distance = distance(X1,X2,Y1,Y2);//"floor" case
        else
        {
            if (X2==0) {
                X2=-Z2;
                result_distance = distance (X1,X2,Y1,Y2);
            }//"left wall" case
            if (X2==A) {
                X2=A+Z2;
                result_distance = distance (X1,X2,Y1,Y2);
            }//"right wall" case
            if (Y2==0) {
                Y2=-Z2;
                result_distance = Math.min(result_distance, distance (X1,X2,Y1,Y2));
            }//"near wall" case
            if (Y2==B) {
                Y2=B+Z2;
                result_distance = Math.min(result_distance, distance (X1,X2,Y1,Y2));
            }//"distant wall" case
        }
        System.out.printf("%.2f", result_distance);
    }
}
