func_code_string: #include <bits/stdc++.h>   using std::abs;   using std::cerr;   using std::cin;   using std::cout;   using std::endl;   using std::make_pair;   using std::max;   using std::min;   using std::pair;   using std::string;   using std::vector;   template <typename T>   inline T input() {     T ans;     cin >> ans;     return ans;   }   template <typename FloatT>   struct vec2 {    public:     vec2() {}     template <typename OtherT>     vec2(vec2<OtherT> other) : x(other.x), y(other.y) {}     vec2(FloatT x, FloatT y) : x(x), y(y) {}     vec2<FloatT> operator-(vec2<FloatT> other) {       return vec2<FloatT>(x - other.x, y - other.y);     }     vec2<FloatT> operator+(vec2<FloatT> other) {       return vec2<FloatT>(x + other.x, y + other.y);     }     vec2<FloatT> operator*(FloatT num) { return vec2<FloatT>(num * x, num * y); }     FloatT len() { return std::sqrt(x * x + y * y); }     FloatT x;     FloatT y;   };   const uint32_t num_iterations = 100000;   int main() {     vec2<int32_t> src;     vec2<int32_t> dest;     int32_t v, t;     vec2<int32_t> wind_before;     vec2<int32_t> wind_after;     cin >> src.x >> src.y >> dest.x >> dest.y;     cin >> v >> t;     cin >> wind_before.x >> wind_before.y >> wind_after.x >> wind_after.y;     if ((vec2<long double>(src - dest) + vec2<long double>(wind_before) * t)             .len() <= v * t) {       float left = 0;       float right = t;       for (uint32_t i = 0; i != num_iterations; ++i) {         float mid = left + (right - left) / 2;         if ((vec2<long double>(src - dest) + vec2<long double>(wind_before) * mid)                 .len() <= v * mid)           right = mid;         else           left = mid;       }       cout.precision(20);       cout << std::fixed << right << endl;     } else {       vec2<long double> new_src =           vec2<long double>(src) + vec2<long double>(wind_before) * t;       float left = 0;       float right = 1000000000;       for (uint32_t i = 0; i != num_iterations; ++i) {         float mid = left + (right - left) / 2;         if ((new_src - vec2<long double>(dest) +              vec2<long double>(wind_after) * mid)                 .len() <= v * (t + mid))           right = mid;         else           left = mid;       }       cout.precision(20);       cout << std::fixed << t + right << endl;     }     return 0;   }   