#include <bits/stdc++.h>
using namespace std;
int MAX(int a, int b) { return (a > b) ? a : b; }
int MIN(int a, int b) { return (a < b) ? a : b; }
int ABS(int x) { return (x > 0) ? x : -x; }
double sx, sy, v, T, ax, ay, bx, by, fx, fy;
pair<double, double> getPos(double t) {
  if (t <= T)
    return pair<double, double>(fx - (t * ax), fy - (t * ay));
  else
    return pair<double, double>(fx - (T * ax) - ((t - T) * bx),
                                fy - (T * ay) - ((t - T) * by));
}
bool reachable(pair<double, double> x, double t) {
  if (hypot(x.first - sx, x.second - sy) <= t * v) return true;
  return false;
}
int main() {
  scanf("%lf %lf %lf %lf", &sx, &sy, &fx, &fy);
  scanf("%lf %lf", &v, &T);
  scanf("%lf %lf", &ax, &ay);
  scanf("%lf %lf", &bx, &by);
  double l = 0.00, r = 200000000000000000000.00;
  for (long long int i = 0; i < (long long int)10000; i++) {
    double mid = (l + r) / 2;
    pair<double, double> posNow = getPos(mid);
    if (reachable(posNow, mid))
      r = mid;
    else
      l = mid;
  }
  printf("%.20lf\n", l);
}
