#include <bits/stdc++.h>
using namespace std;
#define int long long
#define YeS (yes ? "YES\n" : "NO\n");
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count() * ((uint64_t)new char | 1));
template <typename T>
T Rand(T low, T high)
{
return uniform_int_distribution<T>(low, high)(rng);
}
void fast(string name = "", string name2 = "")
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
if (name.size())
freopen((name + ".in").c_str(), "r", stdin);
if (name2.size())
freopen((name2 + ".out").c_str(), "w", stdout);
}
double x,y,z;
double tx,ty,tz,ra;
bool check(double nr){
if(nr*2>min({x,y,z}))return false;
double cens[8][3]={
{nr,nr,nr},{nr,nr,z-nr},{nr,y-nr,nr},{x-nr,nr,nr},{x-nr,y-nr,nr},{x-nr,nr,z-nr},{nr,y-nr,z-nr},{x-nr,y-nr,z-nr}
};
for(auto&i:cens){
double cx=i[0],cy=i[1],cz=i[2];
double dis=sqrt((tx-cx)*(tx-cx)+(ty-cy)*(ty-cy)+(tz-cz)*(tz-cz));
if(dis>=nr+ra)return true;
}
return false;
}
void solve()
{
cin>>x>>y>>z;
cin>>tx>>ty>>tz>>ra;
double l=0,r=1e9;
for(int i =0;i<1000000;i++){
double mid =(l+r)/2;
if(check(mid))l=mid;
else r=mid;
}
cout<<fixed<<setprecision(15);
cout<<(check(r)?r:l)<<"\n";
}
signed main()
{
fast();
int t = 1;
// cin >> t;
while (t--)
{
solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIFllUyAoeWVzID8gIllFU1xuIiA6ICJOT1xuIik7Cm10MTk5MzdfNjQgcm5nKGNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKS50aW1lX3NpbmNlX2Vwb2NoKCkuY291bnQoKSAqICgodWludDY0X3QpbmV3IGNoYXIgfCAxKSk7CnRlbXBsYXRlIDx0eXBlbmFtZSBUPgpUIFJhbmQoVCBsb3csIFQgaGlnaCkKewogICAgcmV0dXJuIHVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjxUPihsb3csIGhpZ2gpKHJuZyk7Cn0Kdm9pZCBmYXN0KHN0cmluZyBuYW1lID0gIiIsIHN0cmluZyBuYW1lMiA9ICIiKQp7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwogICAgY291dC50aWUoMCk7CiAgICBpZiAobmFtZS5zaXplKCkpCiAgICAgICAgZnJlb3BlbigobmFtZSArICIuaW4iKS5jX3N0cigpLCAiciIsIHN0ZGluKTsKICAgIGlmIChuYW1lMi5zaXplKCkpCiAgICAgICAgZnJlb3BlbigobmFtZTIgKyAiLm91dCIpLmNfc3RyKCksICJ3Iiwgc3Rkb3V0KTsKfQpkb3VibGUgeCx5LHo7CmRvdWJsZSB0eCx0eSx0eixyYTsKYm9vbCBjaGVjayhkb3VibGUgbnIpewogICAgaWYobnIqMj5taW4oe3gseSx6fSkpcmV0dXJuIGZhbHNlOwogICAgZG91YmxlIGNlbnNbOF1bM109ewogICAgICAgIHtucixucixucn0se25yLG5yLHotbnJ9LHtucix5LW5yLG5yfSx7eC1ucixucixucn0se3gtbnIseS1ucixucn0se3gtbnIsbnIsei1ucn0se25yLHktbnIsei1ucn0se3gtbnIseS1ucix6LW5yfQogICAgfTsKICAgIGZvcihhdXRvJmk6Y2Vucyl7CiAgICAgICAgZG91YmxlIGN4PWlbMF0sY3k9aVsxXSxjej1pWzJdOwogICAgICAgIGRvdWJsZSBkaXM9c3FydCgodHgtY3gpKih0eC1jeCkrKHR5LWN5KSoodHktY3kpKyh0ei1jeikqKHR6LWN6KSk7CiAgICAgICAgaWYoZGlzPj1ucityYSlyZXR1cm4gdHJ1ZTsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQp2b2lkIHNvbHZlKCkKewogICAgY2luPj54Pj55Pj56OwogICAgY2luPj50eD4+dHk+PnR6Pj5yYTsKICAgIGRvdWJsZSBsPTAscj0xZTk7CiAgICBmb3IoaW50IGkgPTA7aTwxMDAwMDAwO2krKyl7CiAgICAgICAgZG91YmxlIG1pZCA9KGwrcikvMjsKICAgICAgICBpZihjaGVjayhtaWQpKWw9bWlkOwogICAgICAgIGVsc2Ugcj1taWQ7CiAgICB9CiAgICBjb3V0PDxmaXhlZDw8c2V0cHJlY2lzaW9uKDE1KTsKICAgIGNvdXQ8PChjaGVjayhyKT9yOmwpPDwiXG4iOwp9CnNpZ25lZCBtYWluKCkKewogICAgZmFzdCgpOwogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKQogICAgewogICAgICAgIHNvbHZlKCk7CiAgICB9Cn0=