#include <bits/stdc++.h>
using namespace std;
int n, k;
long double v1, v2, l;
const long double eps = 1e-13;
bool check(long double m) {
  long double pos = 0;
  int left = n;
  while (left > 0 && fabs(pos - l) > eps) {
    long double dist = l - pos;
    if (fabs(dist - m * v1) <= eps) return 1;
    if (dist < m * v1) return 1;
    if (m <= eps) return 0;
    long double s = 0, e = m, res = -1;
    for (int i = 0; i < 60; i++) {
      long double mid = (s + e) / 2.0;
      long double x1 = pos + (v1 * mid);
      long double x2 = (v2 * (m - mid));
      if (fabs((x2 + x1) - l) < eps)
        s = mid, res = m - mid;
      else if ((x2 + x1) > l)
        s = mid, res = m - mid;
      else
        e = mid;
    }
    if (res < eps) return 0;
    long double f = pos + res * v2;
    pos += (res * v1);
    m -= res;
    if (m <= 0) return 0;
    left -= k;
    if (left <= 0) return 1;
    s = 0, e = m, res = -1;
    for (int i = 0; i < 40; i++) {
      long double mid = (s + e) / 2.0;
      long double x1 = pos + (v1 * mid);
      long double x2 = f - (v2 * mid);
      if (x2 - x1 > eps)
        s = mid;
      else
        e = mid, res = mid;
    }
    if (res <= eps) return 0;
    pos += (v1 * res);
    m -= res;
    if (m <= 0) return 0;
  }
  return 1;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> l >> v1 >> v2 >> k;
  long double s = 0, e = l, ans = 0;
  long double mid;
  for (int i = 0; i < 60; i++) {
    mid = (s + e) / 2.0;
    if (check(mid) == 1)
      e = mid, ans = mid;
    else
      s = mid;
  }
  cout << fixed << setprecision(10) << ans << endl;
  return 0;
}
