#include <bits/stdc++.h>
using namespace std;
double a, v, s, d, w, d2;
double t1, t2, total, s0, s1, v0, vt;
int main() {
  scanf("%lf%lf%lf%lf%lf", &a, &v, &s, &d, &w);
  if (w >= v) {
    s0 = v * v / a / 2;
    if (s < s0)
      total = sqrt(2 * s / a);
    else
      total = s / v + v / 2 / a;
  } else {
    s0 = w * w / a / 2;
    s1 = (2 * v * v - w * w) / (2 * a);
    if (d <= s0) {
      t1 = sqrt(2 * d / a);
      vt = a * t1;
    } else if (d <= s1) {
      v0 = sqrt(a * d + w * w / 2);
      t1 = (2 * v0 - w) / a;
      vt = w;
    } else {
      t1 = (2 * v - w) / a + (d - s1) / v;
      vt = w;
    }
    d2 = s - d;
    s0 = (v * v - vt * vt) / (2 * a);
    if (d2 <= s0) {
      v0 = sqrt(2 * a * d2 + vt * vt);
      t2 = (v0 - vt) / a;
    } else
      t2 = (v - vt) / a + (d2 - s0) / v;
    total = t1 + t2;
  }
  printf("%.12f\n", total);
  return 0;
}
