#include <cstdio>
#include <cmath>
#include <utility>
using namespace std;
typedef long long ll;
double xs, ys, xf, yf, phi, v0, v1;
double lo, hi, m1, m2, t1, t2;
const double EPS = 1e-9;
double ed(double a, double b) {
return sqrt(a * a + b * b);
}
double time(double a, double b) {
pair<double, double> x = {0.0, a}, y = {sin(phi) * b, cos(phi) * b};
double res = ed(xs - x.first, ys - x.second) / v0
+ ed(x.first - y.first, x.second - y.second) / v1
+ ed(xf - y.first, yf - y.second) / v0;
return res;
}
double get(double x) {
double l = 0, r = ed(xs, ys) + ed(xf, yf);
while (r - l > EPS) {
double m1_ = l + (r - l) / 3, m2_ = r - (r - l) / 3;
double t1_ = time(x, m1_), t2_ = time(x, m2_);
if (t1_ < t2_) r = m2_;
else l = m1_;
}
return time(x, l);
}
int main() {
scanf("%lf%lf%lf%lf%lf%lf%lf", &xs, &ys, &xf, &yf, &phi, &v0, &v1);
lo = 0.0, hi = ed(xs, ys) + ed(xf, yf);
while (hi - lo > EPS) {
m1 = lo + (hi - lo) / 3, m2 = hi - (hi - lo) / 3;
t1 = get(m1), t2 = get(m2);
if (t1 < t2) hi = m2;
else lo = m1;
}
printf("%.3lf\n", get(lo));
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8dXRpbGl0eT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7Cgpkb3VibGUgeHMsIHlzLCB4ZiwgeWYsIHBoaSwgdjAsIHYxOwpkb3VibGUgbG8sIGhpLCBtMSwgbTIsIHQxLCB0MjsKY29uc3QgZG91YmxlIEVQUyA9IDFlLTk7Cgpkb3VibGUgZWQoZG91YmxlIGEsIGRvdWJsZSBiKSB7CiAgICByZXR1cm4gc3FydChhICogYSArIGIgKiBiKTsKfQoKZG91YmxlIHRpbWUoZG91YmxlIGEsIGRvdWJsZSBiKSB7CiAgICBwYWlyPGRvdWJsZSwgZG91YmxlPiB4ID0gezAuMCwgYX0sIHkgPSB7c2luKHBoaSkgKiBiLCBjb3MocGhpKSAqIGJ9OwogICAgZG91YmxlIHJlcyA9IGVkKHhzIC0geC5maXJzdCwgeXMgLSB4LnNlY29uZCkgLyB2MCAKICAgICAgICAgICAgICAgKyBlZCh4LmZpcnN0IC0geS5maXJzdCwgeC5zZWNvbmQgLSB5LnNlY29uZCkgLyB2MQogICAgICAgICAgICAgICArIGVkKHhmIC0geS5maXJzdCwgeWYgLSB5LnNlY29uZCkgLyB2MDsKICAgIHJldHVybiByZXM7Cn0KCmRvdWJsZSBnZXQoZG91YmxlIHgpIHsKICAgIGRvdWJsZSBsID0gMCwgciA9IGVkKHhzLCB5cykgKyBlZCh4ZiwgeWYpOwogICAgd2hpbGUgKHIgLSBsID4gRVBTKSB7CiAgICAgICAgZG91YmxlIG0xXyA9IGwgKyAociAtIGwpIC8gMywgbTJfID0gciAtIChyIC0gbCkgLyAzOwogICAgICAgIGRvdWJsZSB0MV8gPSB0aW1lKHgsIG0xXyksIHQyXyA9IHRpbWUoeCwgbTJfKTsKICAgICAgICBpZiAodDFfIDwgdDJfKSByID0gbTJfOwogICAgICAgIGVsc2UgbCA9IG0xXzsKICAgIH0KICAgIHJldHVybiB0aW1lKHgsIGwpOwp9CgppbnQgbWFpbigpIHsKICAgIHNjYW5mKCIlbGYlbGYlbGYlbGYlbGYlbGYlbGYiLCAmeHMsICZ5cywgJnhmLCAmeWYsICZwaGksICZ2MCwgJnYxKTsKICAgIGxvID0gMC4wLCBoaSA9IGVkKHhzLCB5cykgKyBlZCh4ZiwgeWYpOwogICAgd2hpbGUgKGhpIC0gbG8gPiBFUFMpIHsKICAgICAgICBtMSA9IGxvICsgKGhpIC0gbG8pIC8gMywgbTIgPSBoaSAtIChoaSAtIGxvKSAvIDM7CiAgICAgICAgdDEgPSBnZXQobTEpLCB0MiA9IGdldChtMik7CiAgICAgICAgaWYgKHQxIDwgdDIpIGhpID0gbTI7CiAgICAgICAgZWxzZSBsbyA9IG0xOwogICAgfQogICAgcHJpbnRmKCIlLjNsZlxuIiwgZ2V0KGxvKSk7CiAgICByZXR1cm4gMDsKfQo=