#include <bits/stdc++.h>
using namespace std;
int n, m;
long long vmax, t, vx, vy, wx, wy;
struct P {
  double x, y;
  P() {}
  P(double x, double y) : x(x), y(y) {}
  void eat() { scanf("%lf%lf", &x, &y); }
  P operator+(const P &p) const { return P(x + p.x, y + p.y); }
  P operator-(const P &p) const { return P(x - p.x, y - p.y); }
  P operator*(double k) { return P(x * k, y * k); }
  double operator*(P p) { return x * p.x + y * p.y; }
  double operator^(P p) { return x * p.y - y * p.x; }
  double mag2() { return x * x + y * y; }
  double mag() { return sqrt(mag2()); }
  bool operator<(const P &p) const {
    if ((fabs((x) - (p.x)) < (1e-9))) return ((y) < (p.y) - (1e-9));
    return ((x) < (p.x) - (1e-9));
  }
  bool operator==(const P &p) const {
    return (fabs((x) - (p.x)) < (1e-9)) && (fabs((y) - (p.y)) < (1e-9));
  }
  void prt() { printf("(%f,%f)\n", x, y); }
} p1, p2, v, w, p3;
int main() {
  p1.eat();
  p2.eat();
  scanf("%lld%lld", &vmax, &t);
  v.eat();
  w.eat();
  v = v * -1;
  w = w * -1;
  p2 = p2 - p1;
  p1 = P(0, 0);
  p3 = p2 + v * t;
  double ans = 0;
  if (!((vmax * t) < (p3.mag()) - (1e-9))) {
    double lo = 0, hi = t, mid;
    for (int cc = (0); cc < (100000); cc++) {
      if ((fabs((lo) - (hi)) < (1e-9))) break;
      mid = (lo + hi) / 2;
      p3 = p2 + v * mid;
      if (!((vmax * mid) < (p3.mag()) - (1e-9)))
        hi = mid;
      else
        lo = mid;
    }
    ans = (lo + hi) / 2;
  } else {
    p2 = p3;
    double lo = 0, hi = 100000000, mid;
    for (int cc = (0); cc < (100000); cc++) {
      if ((fabs((lo) - (hi)) < (1e-9))) break;
      mid = (lo + hi) / 2;
      p3 = p2 + w * mid;
      if (!((vmax * (mid + t)) < (p3.mag()) - (1e-9)))
        hi = mid;
      else
        lo = mid;
    }
    ans = t + (lo + hi) / 2;
  }
  printf("%.20f\n", ans);
  return 0;
}
