#include <bits/stdc++.h>
using namespace std;
struct ww {
  long double x, y;
  void read() {
    double A, B;
    scanf("%lf%lf", &A, &B);
    x = A, y = B;
  }
  void fu() { x = -x, y = -y; }
  ww operator+(const ww &A) { return (ww){x + A.x, y + A.y}; }
  ww operator-(const ww &A) { return (ww){x - A.x, y - A.y}; }
  ww operator*(const long double &t) { return (ww){x * t, y * t}; }
  long double com() { return x * x + y * y; }
} x, y, va, vb, O;
int i, j, k, n, m;
double v, t;
inline long double dis(ww a, ww b) {
  a = a - b;
  return sqrt(a.com());
}
int main() {
  x.read(), y.read();
  scanf("%lf%lf", &v, &t);
  va.read(), vb.read();
  va.fu(), vb.fu();
  ww A = y + va * t;
  if (dis(A, x) <= v * t) {
    long double l = 0, r = t, mid;
    for (; l + 1e-8 < r;) {
      mid = (l + r) / 2;
      ww B = y + va * mid;
      if (dis(B, x) > v * mid)
        l = mid;
      else
        r = mid;
    }
    printf("%.12lf\n", (double)r);
  } else {
    long double l = 0, r = 1e15, mid;
    for (; l + 1e-8 < r;) {
      mid = (l + r) / 2;
      ww B = A + vb * mid;
      if (dis(B, x) > v * (mid + t))
        l = mid;
      else
        r = mid;
    }
    printf("%.12lf\n", (double)(r + t));
  }
  return 0;
}
