#include <vector>#include <deque>#include <queue>#include <stack>#include <algorithm>#include <iostream>#include <iomanip>#include <cstdio>#include <cmath>#include <cstdlib>#include <cstring>using namespace std;#define inf 2147480000#define EPS 1e-8double x,y,a,b,k;int main(int argc, char *argv[]){ while(cin>>x>>y>>a>>b>>k) { if(a>b+EPS) swap(a,b); double dog=x+y+k; if(dog>a+b+EPS) dog=a+b; double cat=x+y-k; if(cat<EPS) cat=0; double sum=a*b; if(a<EPS) { if(b>EPS) { if(cat>=dog+EPS) sum=0; else sum=dog-cat; double ans=sum/b; printf("%.6lfn",ans); } else { double aa=1;double bb=0; if(cat>=dog+EPS) printf("%.6lfn",bb); else if(cat<=EPS) { printf("%.6lfn",aa); } else printf("%.6lfn",bb); } } else { if(cat>=dog+EPS) sum=0; else { if(EPS+cat<=a) sum-=cat*cat/2; else if(cat>a+EPS && cat+EPS<b) sum-=(2*cat-a)*a/2; else sum=(a+b-cat)*(a+b-cat)/2; if(dog>=b+EPS) {sum-=(a+b-dog)*(a+b-dog)/2;} else if(dog+EPS<b && dog>=a+EPS) {sum-=(2*b-2*dog+a)*a/2;} else sum=sum-a*b+dog*dog/2; } double ans=sum/(a*b); printf("%.6lfn",ans); } } return 0;}