#include <bits/stdc++.h>
using namespace std;
bool solve(int n, long double s, long double v1, long double v2, int k,
           long double T) {
  long double pos_children = 0;
  while (true) {
    n -= k;
    long double length = s - pos_children;
    if (length / v1 > T) return 0;
    if (n <= 0) return 1;
    long double t2 = (length - v1 * T) / (v2 - v1);
    if (t2 < 0) return 0;
    long double t1 = T - t2;
    long double s1 = v1 * t1;
    long double new_pos_bus = pos_children + s1;
    pos_children += t1 * v2;
    long double time_to_meet = (new_pos_bus - pos_children) / (v1 + v2);
    T -= t1 + time_to_meet;
    if (T < 0) return 0;
    pos_children += v2 * time_to_meet;
    new_pos_bus -= v1 * time_to_meet;
    if (abs(pos_children - new_pos_bus) > 0.00001) throw 1;
  }
  throw 1;
}
int main() {
  int n;
  cin >> n;
  long double s, v1, v2;
  cin >> s >> v1 >> v2;
  swap(v1, v2);
  int k;
  cin >> k;
  long double left = 0, right = s / v2;
  while (right - left > 0.0000001) {
    long double T = (left + right) / 2.0;
    if (solve(n, s, v1, v2, k, T))
      right = T;
    else
      left = T;
  }
  cout << fixed << setprecision(10);
  cout << right;
}
