WA10
#include<bits/stdc++.h>
using namespace std;
double ax,ay,bx,by,cx,cy,dx,dy,p,q,r;
const double eps=1e-9;
double dist(double xx,double xy,double yx,double yy){
return sqrt((yx-xx)*(yx-xx)+(yy-xy)*(yy-xy));
}
double calc(double x,double k){
double ans=0.0;
double px1,py1,px2,py2;
px1=ax+(bx-ax)*x;
py1=ay+(by-ay)*x;
px2=cx+(dx-cx)*k;
py2=cy+(dy-cy)*k;
return dist(ax,ay,px1,py1)/p+dist(px1,py1,px2,py2)/r
+dist(px2,py2,cx,cy)/q;
}
double check(double x){
double L=0,R=1.0;
while(L+eps<R){
double m1=L+(R-L)/3;
double m2=R-(R-L)/3;
if(calc(x,m1)<=calc(x,m2))R=m2;
else L=m1;
}
return calc(x,L);
}
int main(){
scanf("%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf",&ax,&ay,&bx,&by,&cx,&cy,&dx,&dy,&p,&q,&r);
double L=0.0,R=1.0;
while(L+eps<R){
double m1=L+(R-L)/3;
double m2=R-(R-L)/3;
if(check(m1)<=check(m2)) R=m2;
else L=m1;
}
printf("%.2lf\n",check(L));
}