#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-12;
double x_1, y_1, x_2, y_2;
double vmax, t;
double vx, vy, wx, wy;
double Dis(double x1, double y1) { return sqrt(x1 * x1 + y1 * y1 + eps); }
bool can(double T) {
  double Vx = (t * vx + (T - t) * wx) / T, Vy = (t * vy + (T - t) * wy) / T;
  if (T < t) Vx = vx, Vy = vy;
  double x = x_2 - x_1, y = y_2 - y_1;
  double ca = (x * Vx + y * Vy) / (Dis(x, y) * Dis(Vx, Vy));
  double sa = sqrt(1 - ca * ca);
  double a = Dis(Vx, Vy) * sa;
  double A = sqrt(vmax * vmax - a * a);
  double B = Dis(Vx, Vy) * ca;
  A += B;
  if (A * T >= Dis(x_1 - x_2, y_1 - y_2) - eps) return true;
  return false;
}
int main() {
  scanf("%lf%lf%lf%lf", &x_1, &y_1, &x_2, &y_2);
  scanf("%lf%lf", &vmax, &t);
  scanf("%lf%lf", &vx, &vy);
  scanf("%lf%lf", &wx, &wy);
  double l = 0, r = 1e14;
  for (int _ = (0); _ < (int(200)); _++) {
    double mid = (l + r) / 2;
    if (can(mid))
      r = mid;
    else
      l = mid;
  }
  printf("%.18f\n", l);
  return 0;
}
