#include <bits/stdc++.h>
using namespace std;
struct Point {
  long double x, y;
};
long double distance(Point p1, Point p2) {
  return (p2.x - p1.x) * (p2.x - p1.x) + (p2.y - p1.y) * (p2.y - p1.y);
}
int main() {
  Point start, middle, end;
  Point w1, w2;
  cin >> start.x >> start.y >> end.x >> end.y;
  long double u, t;
  cin >> u >> t;
  cin >> w1.x >> w1.y >> w2.x >> w2.y;
  long double mintime, curtime, maxtime;
  mintime = 0;
  maxtime = 10e9;
  long double eps = 1e-9;
  while (abs(mintime - maxtime) > eps) {
    curtime = (mintime + maxtime) / 2;
    middle.x =
        start.x + w1.x * min(t, curtime) + w2.x * (curtime - min(curtime, t));
    middle.y =
        start.y + w1.y * min(t, curtime) + w2.y * (curtime - min(curtime, t));
    long double p = distance(middle, end);
    if (distance(middle, end) < u * curtime * u * curtime) {
      maxtime = curtime;
    } else {
      mintime = curtime;
    }
  }
  cout << setprecision(9);
  cout << fixed << mintime;
  return 0;
}
