#include <bits/stdc++.h>
using namespace std;
inline int in() {
  int32_t x;
  scanf("%d", &x);
  return x;
}
inline string get() {
  char ch[1000010];
  scanf("%s", ch);
  return ch;
}
const int MAX_LG = 22;
const long long maxn = 1e5 + 100;
const long long base = 29;
const long long mod = 1e9 + 7;
const long long INF = 1e9 + 100;
int32_t main() {
  long long l = in(), d = in(), v = in(), g = in(), r = in();
  long double need = (long double)d / v;
  long long c = need / (g + r);
  long double rem = need - c * (g + r);
  if (rem < g) {
    need += (long double)(l - d) / v;
    cout << setprecision(10) << need << "\n";
    return 0;
  }
  need += (long double)(l - d) / v + (r + g - rem);
  cout << setprecision(10) << need << "\n";
}
