#include <bits/stdc++.h>
using namespace std;
double x[233];
double y[233];
double v, t;
double vx[233], vy[233];
double s;
bool Check1(double time) {
  double X = x[1] - vx[1] * (time);
  double Y = y[1] - vy[1] * (time);
  s = sqrt(X * X + Y * Y);
  if (s / v < time) return true;
  return false;
}
bool Check(double time) {
  double X = x[0] - vx[2] * (time - t);
  double Y = y[0] - vy[2] * (time - t);
  s = sqrt(X * X + Y * Y);
  if (s / v < time) return true;
  return false;
}
int main() {
  scanf("%lf%lf%lf%lf", &x[1], &y[1], &x[2], &y[2]);
  scanf("%lf%lf", &v, &t);
  scanf("%lf%lf%lf%lf", &vx[1], &vy[1], &vx[2], &vy[2]);
  if (x[2] < x[1]) {
    x[2] = 2 * x[1] - x[2];
    vx[1] = -vx[1];
    vx[2] = -vx[2];
  }
  if (y[2] < y[1]) {
    y[2] = 2 * y[1] - y[2];
    vy[1] = -vy[1];
    vy[2] = -vy[2];
  }
  x[1] = x[2] - x[1];
  y[1] = y[2] - y[1];
  x[0] = x[1];
  y[0] = y[1];
  x[0] = x[0] - vx[1] * t;
  y[0] = y[0] - vy[1] * t;
  s = sqrt(x[0] * x[0] + y[0] * y[0]);
  double l, r, mid;
  if (s / v <= t) {
    l = 0.0;
    r = t;
    do {
      mid = (l + r) / 2;
      if (Check1(mid))
        r = mid;
      else
        l = mid;
    } while (fabs(l - r) > 1e-8);
    printf("%.10lf", mid);
    return 0;
  }
  l = t, r = 1000000000.0;
  do {
    mid = (l + r) / 2;
    if (Check(mid))
      r = mid;
    else
      l = mid;
  } while (fabs(l - r) > 1e-8);
  printf("%.10lf", mid);
  return 0;
}
