#include <bits/stdc++.h>
using namespace std;
double my_x1, my_y1;
double x2, y2;
double vmax;
double t;
double vx, vy;
double ux, uy;
double low;
double high;
bool check1(double x) {
  double dx = (x2 - (my_x1 + x * vx)) / x;
  double dy = (y2 - (my_y1 + x * vy)) / x;
  double left = sqrt(dx * dx + dy * dy);
  return left <= vmax;
}
bool check2(double x) {
  double dx = (x2 - (my_x1 + t * vx + (x - t) * ux)) / x;
  double dy = (y2 - (my_y1 + t * vy + (x - t) * uy)) / x;
  double left = sqrt(dx * dx + dy * dy);
  return left <= vmax;
}
int main() {
  scanf("%lf%lf%lf%lf", &my_x1, &my_y1, &x2, &y2);
  scanf("%lf%lf", &vmax, &t);
  scanf("%lf%lf", &vx, &vy);
  scanf("%lf%lf", &ux, &uy);
  if (!check1(t)) {
    high = 10e10;
    low = t;
    for (int i = 0; i < 1000; i++) {
      double lmid = (low * 2 + high) / 3;
      double rmid = (low + high * 2) / 3;
      if (check2(lmid)) {
        high = rmid;
      } else {
        low = lmid;
      }
    }
  } else {
    high = t;
    low = 0.0;
    for (int i = 0; i < 1000; i++) {
      double lmid = (low * 2 + high) / 3;
      double rmid = (low + high * 2) / 3;
      if (check1(lmid)) {
        high = rmid;
      } else {
        low = lmid;
      }
    }
  }
  printf("%.10f\n", high);
}
