#include <bits/stdc++.h>
static inline double divLong(long long num1, long long num2) {
  return ((double)num1) / ((double)num2);
}
long long totalPupils, busSpace, numGroups;
long long walkingSpeed, busSpeed, totalDist;
int main() {
  double low, mid, high, timePassed, x, y;
  long long i;
  scanf("%lli %lli %lli %lli %lli", &totalPupils, &totalDist, &walkingSpeed,
        &busSpeed, &busSpace);
  numGroups = totalPupils / busSpace;
  if (totalPupils % busSpace) numGroups++;
  low = 0, high = ((double)totalDist) / ((double)walkingSpeed);
  while ((high - low) >= 5e-7) {
    mid = (low + high) / 2;
    timePassed = 0;
    for (i = 0; i < numGroups; i++) {
      x = (((double)totalDist) - walkingSpeed * mid) /
          ((double)(busSpeed - walkingSpeed));
      timePassed += x;
      if (i + 1 < numGroups) {
        y = x * ((double)(busSpeed - walkingSpeed)) /
            ((double)(busSpeed + walkingSpeed));
        timePassed += y;
      }
    }
    if (timePassed > mid)
      low = mid;
    else
      high = mid;
  }
  printf("%lf\n", low);
  exit(0);
}
