#include <iostream>
using namespace std;
 
struct path {
 double time;
 double velocity;
 double length;
};
 
void calc_length (struct path *s1);
double solve (double half_path,
      struct path s1,
      struct path s2, 
      struct path s3);
 
int main() {
 struct path s1, s2, s3 ;
 double half_path;
 
 cin >> s1.time >> s2.time >> s3.time;
 cin >> s1.velocity >> s2.velocity >> s3.velocity;

 calc_length(&s1);
 calc_length(&s2);
 calc_length(&s3);
 
 half_path = (s1.length + s2.length + s3.length)/2;
 cout << solve( half_path, s1, s2, s3) << endl;
 
 return 0;
}
 
void calc_length (struct path *s){
 s->length = s->time*s->velocity;
}
 
double solve (double half_path,
      struct path s1,
      struct path s2, 
      struct path s3){
       
 if (half_path <= s1.length) {
  return half_path/s1.velocity ;
 }
 else if (half_path <= (s1.length + s2.length)) {
  return s1.time + (half_path - s1.length)/s2.velocity ; 
 }
 else {
  return s1.time + s2.time + (half_path - s1.length - s2.length);
 }
}