#include <bits/stdc++.h>
using namespace std;
template <class Int>
Int MAX(Int a, Int b) {
  return (a > b) ? a : b;
}
template <class Int>
Int MIN(Int a, Int b) {
  return (a < b) ? a : b;
}
const double PI = 2 * acos(0.0);
const int INF = 1 << 30;
int main(void) {
  int l, d, v, g, r;
  double tl;
  int i, j, k, s;
  bool f;
  while (scanf("%d %d %d %d %d", &l, &d, &v, &g, &r) != EOF) {
    tl = (double)d / (double)v;
    j = floor(tl);
    k = 0;
    for (i = 0;; i++) {
      if (i % 2 == 0) {
        if (k + g <= j)
          k += g;
        else {
          s = g;
          f = true;
          break;
        }
      } else {
        if (k + r < j)
          k += r;
        else {
          s = r;
          f = false;
          break;
        }
      }
    }
    if (f) {
      tl += (double)((double)l - (double)d) / (double)v;
    } else {
      tl += (double)r - (double)((double)tl - (double)k);
      tl += (double)((double)l - (double)d) / (double)v;
    }
    printf("%.8lf\n", tl);
  }
  return 0;
}
