#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double distance (double x1,double x2,double y1,double y2)
{
	return (sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
}
int main() {
	cout.precision(2);
	double a, b, c;
	cin>>a>>b>>c;
	double x2, y2, x1, y1, z2;
	cin>>x1>>y1;
	cin>>x2>>y2>>z2;
	double s=250000000;
	if (z2==0) s=distance (x1,x2,y1,y2);//"floor" case
	else
	{
		if (x2==0) {x2=-z2; s=distance (x1,x2,y1,y2);}//"left wall" case
		if (x2==a) {x2=a+z2; s=distance (x1,x2,y1,y2);}//"right wall" case
		if (y2==0) {y2=-z2; s=min(s, distance (x1,x2,y1,y2));}//"near wall" case
		if (y2==b) {y2=b+z2; s=min(s, distance (x1,x2,y1,y2));}//"distant wall" case
	}
	cout<<fixed<<s;
	return 0;
}