#include <bits/stdc++.h>
using namespace std;
double eps = 1e-6;
int n, k;
double l, v1, v2;
bool judge(double time_limit) {
  int remain_num = n;
  double remain_time = time_limit;
  double remain_dis = l;
  while (remain_num > k and remain_time > eps) {
    remain_num -= k;
    double x = (remain_time * v1 * v2 - v1 * remain_dis) / (v2 - v1);
    double go_time = (remain_dis - x) / v2;
    double return_time = (remain_dis - x - v1 * go_time) / (v1 + v2);
    double t = go_time + return_time;
    remain_dis -= v1 * t;
    remain_time -= t;
  }
  remain_time -= remain_dis / v2;
  return remain_time > eps;
}
int main() {
  while (cin >> n >> l >> v1 >> v2 >> k) {
    double left = 0, right = l / v1 + eps;
    int count = 0;
    while (left + eps < right) {
      double mid = (left + right) / 2;
      if (judge(mid))
        right = mid;
      else
        left = mid;
      count += 1;
    }
    printf("%.10f\n", left);
  }
  return 0;
}
