#include <bits/stdc++.h>
using namespace std;
bool can(double t, int g, int r) {
  int times = t / (g + r);
  t -= times * (g + r);
  return (t < g);
}
int main() {
  double l, d, v, g, r, tot = 0, cur = 0;
  scanf("%lf%lf%lf%lf%lf", &l, &d, &v, &g, &r);
  cur = d;
  double beg = d / v;
  int initial = 0;
  if (can(d / v, g, r)) {
    int next = (d + v) / v;
    if (next * v >= l) {
      printf("%.10lf\n", l / v);
      return 0;
    } else {
      beg = next;
    }
    cur = next * v;
  }
  initial = cur;
  for (int t = beg; t < (int)1e7; t++) {
    if (cur == initial) {
      if (can(t, g, r)) {
        cur += v;
        if (cur >= l) {
          cur -= v;
          printf("%.10lf\n", t + (l - cur) / v);
          return 0;
        }
      }
    } else {
      cur += v;
      if (cur >= l) {
        cur -= v;
        printf("%.10lf\n", t + (l - cur) / v);
        return 0;
      }
    }
  }
  return 0;
}
