#include <bits/stdc++.h>
using namespace std;
int N, D, walkSpeed, busSpeed, seats;
int main() {
  cin >> N >> D >> walkSpeed >> busSpeed >> seats;
  double top = (double)(D) / walkSpeed;
  double bottom = 0;
  while (top - bottom > 5e-7) {
    double middle = (top + bottom) / 2;
    int pplLeft = N;
    double timeLeft = middle;
    double distanceLeft = D;
    bool works = false;
    while (pplLeft > 0) {
      double peopleSpot = 0;
      double time = 0;
      if (distanceLeft / walkSpeed <= timeLeft) {
        works = true;
        break;
      } else if (distanceLeft / busSpeed > timeLeft) {
        works = false;
        break;
      }
      if (pplLeft > seats) {
        double stopX =
            (timeLeft * busSpeed * walkSpeed - distanceLeft * busSpeed) /
            (walkSpeed - busSpeed);
        time += stopX / busSpeed;
        peopleSpot = walkSpeed * time;
        double newTime = (stopX - peopleSpot) / (busSpeed + walkSpeed);
        double stopX2 = peopleSpot + newTime * walkSpeed;
        time += newTime;
        peopleSpot = stopX2;
        timeLeft -= time;
        distanceLeft -= stopX2;
        pplLeft -= seats;
      } else {
        double timeToFinish = distanceLeft / busSpeed;
        if (timeToFinish <= timeLeft) {
          works = true;
          break;
        } else {
          works = false;
          break;
        }
      }
    }
    if (works) {
      top = middle;
    } else {
      bottom = middle;
    }
  }
  printf("%.9f", top);
  return 0;
}
