#include <bits/stdc++.h>
using namespace std;
const int OO = (int)1e9;
const double eps = 1e-15;
int n, l, v1, v2, k;
bool good(double mid) {
  double left = mid, y = 0;
  int grps = (n + k - 1) / k;
  while (true) {
    if (left < -eps) return false;
    if ((l - y) / v1 < left + eps) return true;
    if ((l - y) / v2 > left - eps) return false;
    --grps;
    if (!grps) return true;
    double t1 = (l - y - v1 * left) / (v2 - v1), d1 = v2 * t1, a = y + v1 * t1,
           b = y + d1;
    double d = b - a;
    left -= t1 + d / (v1 + v2), y = a + v1 * d / (v1 + v2);
  }
}
double bs() {
  double lo = 0, hi = 1e12, mid;
  for (int i = 0; i < int(1000); ++i) {
    mid = (lo + hi) / 2;
    if (good(mid))
      hi = mid;
    else
      lo = mid;
  }
  return mid;
}
int main() {
  ios::sync_with_stdio(false);
  cout.precision(15);
  cout << fixed;
  cin >> n >> l >> v1 >> v2 >> k;
  cout << bs();
  return 0;
}
