#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
struct Node {
  double x, y;
  Node operator+(Node A) { return (Node){x + A.x, y + A.y}; }
  Node operator-(Node A) { return (Node){x - A.x, y - A.y}; }
  Node operator^(double t) { return (Node){x * t, y * t}; }
  double operator*(Node A) { return x * A.y - y * A.x; }
  double dis() { return sqrt(x * x + y * y); }
} t[N], E[N];
int n;
map<int, Node> O[N];
map<int, double> Or[N];
Node Getcrs(Node a1, Node a2, Node b1, Node b2) {
  Node a = a2 - a1, b = b2 - b1, c = b1 - a1;
  double t = (b * c) / (b * a);
  return a1 + (a ^ t);
}
double disline(int i, Node A) { return abs(E[i] * (A - t[i]) / E[i].dis()); }
int ch(int R) { return R % n ? R % n : n; }
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) scanf("%lf%lf", &t[i].x, &t[i].y);
  for (int i = 1; i <= 2 * n; i++) t[n + i] = t[i];
  for (int i = 1; i <= 3 * n; i++) E[i] = t[i + 1] - t[i];
  for (int L = 1; L <= n; L++) {
    O[L][L] = t[L];
    Or[L][L] = 0;
    O[L][ch(L + 1)] = t[L + 1];
    Or[L][ch(L + 1)] = 0;
  }
  for (int L = 1, R = L + 3, nw = L; L <= n; L++)
    for (R--, nw = max(L, nw), R = max(R, L + 2); R == L || E[L] * E[R] > 0;
         R++) {
      while (nw < R && disline(L, t[nw + 1]) < disline(R, t[nw + 1])) ++nw;
      Node P1 = Getcrs(t[L], t[L + 1], t[R], t[R + 1]);
      Node e = t[R + 1] - t[R];
      e = e ^ (1.0 / e.dis());
      Node P2 = P1 + (e ^ (t[L + 1] - P1).dis());
      Node P3 = (t[L + 1] + P2) ^ 0.5;
      Node P = Getcrs(P1, P3, t[nw], t[nw + 1]);
      O[L][ch(R)] = P;
      Or[L][ch(R)] = max(disline(L, P), disline(R, P));
    }
  double r = 1e7;
  Node o1, o2;
  for (int L = 1; L <= n; L++)
    for (auto P : Or[L]) {
      int R = P.first;
      if (Or[ch(R + 1)].find(ch(L - 1 + n)) == Or[ch(R + 1)].end()) continue;
      double newr = max(Or[L][ch(R)], Or[ch(R + 1)][ch(L - 1 + n)]);
      if (newr < r)
        r = newr, o1 = O[L][ch(R)], o2 = O[ch(R + 1)][ch(L - 1 + n)];
    }
  printf("%.10f\n%.10f %.10f\n%.10f %.10f\n", r, o1.x, o1.y, o2.x, o2.y);
}
