#include <bits/stdc++.h>
using namespace std;
bool Ok(long double t, long long n, long double d, long long v1, long long v2,
        long long k) {
  while (n > 0 && d > 0 && d - t * v1 > 0) {
    if (t < 0) return false;
    long double t2 = (d - t * v1) / static_cast<long double>(v2 - v1);
    long double t1 = t - t2;
    if (t2 < 0 || t1 < 0) return false;
    n -= k;
    d -= t2 * v1;
    t -= t2;
    long double retTime =
        static_cast<long double>(t2 * v2 - t2 * v1) / (v1 + v2);
    d -= retTime * v1;
    t -= retTime;
  }
  return true;
}
int main(int argc, char* argv[]) {
  std::ios::sync_with_stdio(false);
  long long n, d, v1, v2, k;
  cin >> n >> d >> v1 >> v2 >> k;
  if (v1 >= v2) {
    cout << setprecision(10) << double(d) / v1 << endl;
    return 0;
  }
  long double l = 0;
  long double r = double(d) / v1;
  Ok(4, n, d, v1, v2, k);
  while ((r - l >= 0.0000001) && 1 - l / r > 0.0000001) {
    double m = (r + l) / 2;
    if (Ok(m, n, d, v1, v2, k)) {
      r = m;
    } else {
      l = m;
    }
  }
  cout << setprecision(10) << r << endl;
  return 0;
}
