#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
const long double INF = 1e18, EPS = 1e-7;
int n, m;
long double ans = INF, R, r[N][N];
struct vec {
  long double x, y;
  vec(long double _x = 0, long double _y = 0) { x = _x, y = _y; }
  vec operator+(const vec& a) const { return vec(x + a.x, y + a.y); }
  vec operator-(const vec& a) const { return vec(x - a.x, y - a.y); }
  vec operator*(const long double& a) const { return vec(x * a, y * a); }
  long double operator^(const vec& a) const { return x * a.y - y * a.x; }
  long double operator&(const vec& a) const { return x * a.x + y * a.y; }
} o, o1, o2, p[N], c[N][N];
struct lin {
  vec p, v;
  lin(vec _p = (0, 0), vec _v = (0, 0)) { p = _p, v = _v; }
} t, l[N];
long double D(vec a) { return sqrt(a & a); }
long double dis(lin a, vec b) { return fabs(a.v ^ b - a.p) / D(a.v); }
vec cro(lin a, lin b) {
  return a.p + a.v * ((b.v ^ (a.p - b.p)) / (a.v ^ b.v));
}
lin anb(lin a, lin b) {
  return lin(cro(a, b), b.v * (1 / D(b.v)) - a.v * (1 / D(a.v)));
}
int cp(long double x) { return fabs(x) < EPS ? 0 : (x > 0 ? 1 : -1); }
int main() {
  scanf("%d", &n);
  for (int i = 0; i <= n - 1; i++)
    for (int j = 0; j <= n - 1; j++) r[i][j] = INF;
  for (int i = 0; i <= n - 1; i++)
    scanf("%Lf%Lf", &p[i].x, &p[i].y), p[i + n] = p[i];
  for (int i = 0; i <= n - 1; i++) c[i][i] = p[i], r[i][i] = 0;
  p[m = n << 1] = *p;
  for (int i = 0; i <= m - 1; i++) l[i] = lin(p[i], p[i + 1] - p[i]);
  for (int i = 0; i <= n - 1; i++) {
    for (int j = i + 1, k = i; cp(l[i].v ^ l[j].v) > 0; j++) {
      t = anb(l[i], l[j]);
      while (k < j && cp((p[k + 1] - t.p) ^ t.v) < 0) k++;
      c[i][j % n] = o = cro(lin(p[k], p[k + 1] - p[k]), t);
      r[i][j % n] = dis(l[j], o);
    }
  }
  for (int i = 0; i <= n - 1; i++)
    for (int j = i + 1; cp(l[i].v ^ l[j].v) > 0; j++) {
      R = max(r[i][j % n], r[(j + 1) % n][(i + n - 1) % n]);
      if (R < ans)
        ans = R, o1 = c[i][j % n], o2 = c[(j + 1) % n][(i + n - 1) % n];
    }
  printf("%.9Lf\n%.9Lf %.9Lf\n%.9Lf %.9Lf\n", ans, o1.x, o1.y, o2.x, o2.y);
}
