#include <bits/stdc++.h>
using namespace std;
double dist(double x1, double y1, double x2, double y2) {
  return sqrt(((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)) * 1.0);
}
int main() {
  std::ios_base::sync_with_stdio(false);
  double R, xf, yf, xfafa, yfafa;
  cin >> R >> xf >> yf >> xfafa >> yfafa;
  if (xf == xfafa && yf == yfafa) {
    double y = yf;
    double x = xf + (R / 2);
    cout << fixed << setprecision(16) << x << " " << y << " "
         << dist(x, y, xf, yf);
  } else if (dist(xf, yf, xfafa, yfafa) - R >= 0.0) {
    cout << setprecision(16) << xf << " " << yf << " " << R;
  } else {
    if (xf == xfafa) {
      if (yf > yfafa) {
        cout << setprecision(16) << xf << " " << (R + fabs(yf - yfafa)) / 2
             << " " << (R + fabs(yf - yfafa)) / 2;
      } else {
        cout << setprecision(16) << xf << " "
             << yfafa - (R + fabs(yf - yfafa)) / 2 << " "
             << (R + fabs(yf - yfafa)) / 2;
      }
      return 0;
    }
    double tmpx = xf;
    double tmpy = yf;
    yfafa -= yf;
    xfafa -= xf;
    yf = xf = 0;
    double a = (yf - yfafa) / (xf - xfafa);
    double c = yf - (a * xf);
    double b = -1;
    double r = R;
    double x0 = -a * c / (a * a + b * b), y0 = -b * c / (a * a + b * b);
    double d = r * r - c * c / (a * a + b * b);
    double mult = sqrt(d / (a * a + b * b));
    double ax, ay, bx, by;
    ax = x0 + b * mult;
    bx = x0 - b * mult;
    ay = y0 - a * mult;
    by = y0 + a * mult;
    if (dist(ax, ay, xfafa, yfafa) > dist(bx, by, xfafa, yfafa)) {
      cout << setprecision(16) << (ax + xfafa) / 2 + tmpx << " "
           << (ay + yfafa) / 2 + tmpy << " " << dist(ax, ay, xfafa, yfafa) / 2;
    } else {
      cout << setprecision(16) << (bx + xfafa) / 2 + tmpx << " "
           << (by + yfafa) / 2 + tmpy << " " << dist(bx, by, xfafa, yfafa) / 2;
    }
  }
}
