#include <bits/stdc++.h>
using namespace std;
double f = 1e-5;
int aa, vv, ww, ll, dd;
double a, v, w, l, d, tv, tw, dx, xv, xw, ans, t1, t2, t3;
int main() {
  cin >> aa >> vv;
  cin >> ll >> dd >> ww;
  a = aa * 1.0;
  v = vv * 1.0;
  l = ll * 1.0;
  d = dd * 1.0;
  w = ww * 1.0;
  tv = v / a;
  tw = w / a;
  ans = 0;
  if (v <= w) {
    xv = 0.5 * a * tv * tv;
    dx = l - xv;
    if (dx <= f)
      ans = sqrt(2 * l / a);
    else
      ans = tv + dx / v;
  } else {
    xw = 0.5 * a * tw * tw;
    dx = d - xw;
    if (dx <= f) {
      xv = 0.5 * a * tv * tv;
      dx = l - xv;
      if (dx <= f)
        ans = sqrt(2 * l / a);
      else
        ans = tv + dx / v;
    } else {
      t1 = (sqrt(a * dx + w * w) - w) / a;
      if ((tv - tw - t1) >= f)
        t1 = t1 * 2;
      else
        t1 = (dx - (v * v - w * w) / a) / v + 2 * (tv - tw);
      l = l - d;
      xv = (v * v - w * w) / (2 * a);
      dx = l - xv;
      if (dx <= f) {
        t2 = (sqrt((2 * a * l) + w * w) - w) / a;
        ans = tw + t1 + t2;
      } else {
        t2 = (v - w) / a;
        t3 = dx / v;
        ans = tw + t1 + t2 + t3;
      }
    }
  }
  printf("%.6f\n", ans);
}
