#include <bits/stdc++.h>
using namespace std;
double D2(double x1, double y1, double x2, double y2) {
  return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}
int main() {
  long long R, x1, y1, x2, y2;
  cin >> R >> x1 >> y1 >> x2 >> y2;
  long long d2 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
  if (d2 > R * R) {
    cout << x1 << " " << y1 << " " << R;
    return 0;
  }
  cout.precision(14);
  long long dx = (x2 - x1), dy = (y2 - y1);
  if (dx == 0 && dy == 0) {
    long long ix = x1 - R;
    long long iy = y1;
    cout << (double)(ix + x1) / 2 << " " << iy << " " << (double)R / 2;
    return 0;
  }
  double t1 = sqrt((double)R * R / (dx * dx + dy * dy));
  double t2 = -sqrt((double)R * R / (dx * dx + dy * dy));
  double ix[] = {x1 + (x2 - x1) * t1, x1 + (x2 - x1) * t2};
  double iy[] = {y1 + (y2 - y1) * t1, y1 + (y2 - y1) * t2};
  int ii = 0;
  if (D2((double)x2, (double)y2, ix[0], iy[0]) <
      D2((double)x2, (double)y2, ix[1], iy[1]))
    ii = 1;
  double mx = (x2 + ix[ii]) / 2;
  double my = (y2 + iy[ii]) / 2;
  cout << mx << " " << my << " " << sqrt(D2(mx, my, (double)x2, (double)y2));
}
