#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
struct point {
  double x, y;
  point() {}
  point(double x, double y) : x(x), y(y) {}
};
double v, t;
double cal(point p1, point p2, point vv) {
  point p = point(p2.x - p1.x, p2.y - p1.y);
  double a = v * v - vv.x * vv.x - vv.y * vv.y;
  double b = -2.0 * (p.x * vv.x + p.y * vv.y);
  double c = -(p.x * p.x + p.y * p.y);
  double delta = sqrt(b * b - 4 * a * c);
  double ret = (delta - b) / (2 * a);
  return ret;
}
double cal2(point p1, point p2, point vv) {
  point p = point(p2.x - p1.x, p2.y - p1.y);
  double a = v * v - vv.x * vv.x - vv.y * vv.y;
  double b = -2.0 * (p.x * vv.x + p.y * vv.y) + 2 * t * vv.x * vv.x +
             2 * t * vv.y * vv.y;
  double c = -(p.x * p.x + p.y * p.y) - vv.x * vv.x * t * t -
             vv.y * vv.y * t * t + 2 * p.x * vv.x * t + 2 * p.y * vv.y * t;
  double delta = sqrt(b * b - 4 * a * c);
  double ret = (delta - b) / (2 * a);
  return ret;
}
double x1, asfhuih, x2, y2;
double vx, vy, wx, wy;
int main() {
  scanf("%lf%lf%lf%lf", &x1, &asfhuih, &x2, &y2);
  scanf("%lf%lf", &v, &t);
  scanf("%lf%lf%lf%lf", &vx, &vy, &wx, &wy);
  point p1 = point(x1, asfhuih);
  point p2 = point(x2, y2);
  point vv = point(-vx, -vy);
  double ans = cal(p1, p2, vv);
  if (((ans - t) > 1e-9 ? 1 : ((ans - t) < -1e-9 ? -1 : 0)) <= 0) {
    printf("%.9lf\n", ans);
    return 0;
  }
  p1 = point(x1 + vx * t, asfhuih + vy * t);
  vv = point(-wx, -wy);
  printf("%.9lf\n", cal2(p1, p2, vv));
  return 0;
}
