#include <bits/stdc++.h>
using namespace std;
const int INF = (int)2e9;
const long long INFL = (long long)9e18;
const int MAXINT = ((~0) ^ (1 << 31));
const long long MAXLL = ((~0) ^ ((long long)1 << 63));
template <class T>
inline T pow2(T a) {
  return a * a;
}
template <class T>
inline bool mineq(T& a, T b) {
  return (a > b) ? (a = b, true) : false;
}
template <class T>
inline bool maxeq(T& a, T b) {
  return (a < b) ? (a = b, true) : false;
}
long double x, y, x2, y2;
long double maxv, t, vx1, vy1, vx2, vy2;
long double dist(long double x, long double y, long double a, long double b) {
  return pow2(x - a) + pow2(y - b);
}
bool ok(long double h) {
  return dist(vx1 * h, vy1 * h, x, y) < h * h * maxv * maxv;
}
bool ok2(long double h) {
  return dist(vx1 * t + vx2 * (h - t), vy1 * t + vy2 * (h - t), x, y) <
         h * h * maxv * maxv;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> x >> y >> x2 >> y2;
  cin >> maxv >> t;
  cin >> vx1 >> vy1 >> vx2 >> vy2;
  cout << setprecision(20) << fixed;
  x = x2 - x;
  y = y2 - y;
  long double lo = 0, hi = t;
  bool ch = false;
  for (int i = 0; i < (int)(200); i++) {
    long double mid = (lo + hi) / 2;
    if (ok(mid)) {
      hi = mid;
      ch = true;
    } else
      lo = mid;
  }
  if (ch) {
    cout << lo;
    return 0;
  }
  lo = t, hi = INF;
  for (int i = 0; i < (int)(200); i++) {
    long double mid = (lo + hi) / 2;
    if (ok2(mid))
      hi = mid;
    else
      lo = mid;
  }
  cout << lo;
}
