#include <bits/stdc++.h>
using namespace std;
struct point {
  double x, y;
  point() {}
  point(double x, double y) : x(x), y(y) {}
  point operator-(const point& b) const { return point(x - b.x, y - b.y); }
  point operator+(const point& b) const { return point(x + b.x, y + b.y); }
  point operator*(double p) { return point(x * p, y * p); }
  double len() { return sqrt(x * x + y * y); }
};
int main() {
  double x1, y1, x2, y2, v, t, vx, vy, wx, wy;
  while (cin >> x1 >> y1 >> x2 >> y2 >> v >> t >> vx >> vy >> wx >> wy) {
    point p = point(x1, y1);
    point p1 = point(x1 + t * vx, y1 + t * vy), p2 = point(x2, y2);
    point vv = point(vx, vy), ww = point(wx, wy) * -1;
    double temp = (p1 - p2).len();
    if (temp <= v * t) {
      double l = 0, r = 1e20;
      int cnt = 0;
      while (cnt++ < 300) {
        double m = (l + r) / 2;
        point hehe = vv * m + p;
        double b = (hehe - p2).len() / v;
        if (m < b)
          l = m;
        else
          r = m;
      }
      printf("%.7lf\n", l);
    } else {
      double xxx = v * t;
      double l = 0, r = 1e20;
      int cnt = 0;
      while (cnt++ < 300) {
        double m = (l + r) / 2;
        point hehe = ww * m + p2;
        double b = ((hehe - p1).len() - xxx) / v;
        if (m < b)
          l = m;
        else
          r = m;
      }
      printf("%.7lf\n", l + t);
    }
  }
  return 0;
}
