#include <bits/stdc++.h>
using namespace std;
long long add[1234567], a, b, c[1234567], c1[1234][1234], d, e, i, j, n, k, x,
    y, l, r;
map<char, long long> m;
vector<long long> v1[1234567], ve, vma, vmi;
vector<long long>::iterator it;
string s1[1234567], s;
multiset<long long> ms;
set<pair<string, long long>> se;
queue<long long> q;
deque<long long> dq;
pair<long long, long long> p[123456];
priority_queue<pair<long long, long long>> pq;
char ch[1234][1234];
set<long long> seet;
int main() {
  long long g, v;
  scanf("%lld%lld%lld%lld%lld", &l, &d, &v, &g, &r);
  x = 0;
  double ans = 0, w = 1, q = double(w / double(v));
  double time = 0;
  while (x < l) {
    x++;
    ans += q;
    time += q;
    if (time - 1e-7 > g + r) {
      time -= double(g + r);
    }
    if (x == d) {
      if (time + 1e-7 <= g) {
        continue;
      } else {
        ans += double(g + r - time);
        time = 0;
      }
    }
  }
  printf("%.6lf", ans);
}
