- #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); 
-  } 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCnN0cnVjdCBwYXRoIHsKIGRvdWJsZSB0aW1lOwogZG91YmxlIHZlbG9jaXR5OwogZG91YmxlIGxlbmd0aDsKfTsKIAp2b2lkIGNhbGNfbGVuZ3RoIChzdHJ1Y3QgcGF0aCAqczEpOwpkb3VibGUgc29sdmUgKGRvdWJsZSBoYWxmX3BhdGgsCiAgICAgIHN0cnVjdCBwYXRoIHMxLAogICAgICBzdHJ1Y3QgcGF0aCBzMiwgCiAgICAgIHN0cnVjdCBwYXRoIHMzKTsKIAppbnQgbWFpbigpIHsKIHN0cnVjdCBwYXRoIHMxLCBzMiwgczMgOwogZG91YmxlIGhhbGZfcGF0aDsKIAogY2luID4+IHMxLnRpbWUgPj4gczIudGltZSA+PiBzMy50aW1lOwogY2luID4+IHMxLnZlbG9jaXR5ID4+IHMyLnZlbG9jaXR5ID4+IHMzLnZlbG9jaXR5OwoKIGNhbGNfbGVuZ3RoKCZzMSk7CiBjYWxjX2xlbmd0aCgmczIpOwogY2FsY19sZW5ndGgoJnMzKTsKIAogaGFsZl9wYXRoID0gKHMxLmxlbmd0aCArIHMyLmxlbmd0aCArIHMzLmxlbmd0aCkvMjsKIGNvdXQgPDwgc29sdmUoIGhhbGZfcGF0aCwgczEsIHMyLCBzMykgPDwgZW5kbDsKIAogcmV0dXJuIDA7Cn0KIAp2b2lkIGNhbGNfbGVuZ3RoIChzdHJ1Y3QgcGF0aCAqcyl7CiBzLT5sZW5ndGggPSBzLT50aW1lKnMtPnZlbG9jaXR5Owp9CiAKZG91YmxlIHNvbHZlIChkb3VibGUgaGFsZl9wYXRoLAogICAgICBzdHJ1Y3QgcGF0aCBzMSwKICAgICAgc3RydWN0IHBhdGggczIsIAogICAgICBzdHJ1Y3QgcGF0aCBzMyl7CiAgICAgICAKIGlmIChoYWxmX3BhdGggPD0gczEubGVuZ3RoKSB7CiAgcmV0dXJuIGhhbGZfcGF0aC9zMS52ZWxvY2l0eSA7CiB9CiBlbHNlIGlmIChoYWxmX3BhdGggPD0gKHMxLmxlbmd0aCArIHMyLmxlbmd0aCkpIHsKICByZXR1cm4gczEudGltZSArIChoYWxmX3BhdGggLSBzMS5sZW5ndGgpL3MyLnZlbG9jaXR5IDsgCiB9CiBlbHNlIHsKICByZXR1cm4gczEudGltZSArIHMyLnRpbWUgKyAoaGFsZl9wYXRoIC0gczEubGVuZ3RoIC0gczIubGVuZ3RoKTsKIH0KfQ==