#include <bits/stdc++.h>
#pragma GCC optimize(3)
using namespace std;
const double PI = 3.1415926535897932;
const int MAXN = 1e5 + 10;
const long long mod = 1e9 + 7;
long long inline mpow(long long a, long long b) {
  long long ans = 1;
  a %= mod;
  while (b) {
    if (b & 1) ans = (ans * a) % mod;
    a = (a * a) % mod, b >>= 1;
  }
  return ans;
}
int inline sgn(double x) { return (x > -1e-9) - (x < 1e-9); }
priority_queue<int, vector<int>, greater<int> > qu;
priority_queue<int, vector<int>, less<int> > qd;
const int inf = 0x3f3f3f3f;
const long long inff = 0x3f3f3f3f3f3f3f3f;
int n;
double len, a, b, k;
int cnt;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> len >> a >> b >> k;
  cnt = (int)n / (int)k;
  if (n % (int)k) cnt++;
  double tt = len / ((2 * a * b * (cnt - 1) / (a + b)) + b);
  double t = tt + (len - tt * b) / a;
  cout << setiosflags(ios::fixed) << setprecision(12) << t << endl;
}
