#include <bits/stdc++.h>
using namespace std;
void qmax(int &x, int y) {
  if (x < y) x = y;
}
void qmin(int &x, int y) {
  if (x > y) x = y;
}
int read() {
  char s;
  int k = 0, base = 1;
  while ((s = getchar()) != '-' && s != EOF && !(isdigit(s)))
    ;
  if (s == EOF) exit(0);
  if (s == '-') base = -1, s = getchar();
  while (isdigit(s)) {
    k = k * 10 + (s ^ '0');
    s = getchar();
  }
  return k * base;
}
void write(int x) {
  if (x < 0) {
    putchar('-');
    write(-x);
  } else {
    if (x / 10) write(x / 10);
    putchar(x % 10 + '0');
  }
}
long double n, x, y, xx, yy, d1, nn;
double x233, y233;
int main() {
  cin >> nn;
  n = nn * nn;
  cin >> x >> y >> xx >> yy;
  d1 = (x - xx) * (x - xx) + (y - yy) * (y - yy);
  if (d1 > n) {
    cout << x << " " << y << " " << nn << endl;
    return 0;
  }
  d1 = sqrt(d1);
  if (d1 == 0) {
    y233 = y;
    x233 = nn / 2 + x;
  } else {
    x233 = (nn * fabs(x - xx) / d1 - fabs(x - xx)) / 2;
    if (x < xx) x233 = -x233;
    x233 += x;
    y233 = (nn * fabs(y - yy) / d1 - fabs(y - yy)) / 2;
    if (y < yy) y233 = -y233;
    y233 += y;
  }
  double d = (nn + d1) / 2;
  printf("%.20f %.20f %.20f\n", x233, y233, d);
}
