#include <bits/stdc++.h>
using namespace std;
const int mxn = 2e5 + 5;
int n;
long long x[mxn];
long long a, b, c;
bool chk(long long d) {
  int i = 0, j = n - 1;
  while (i < n && x[i] - x[0] <= d * 2) ++i;
  a = (x[i - 1] + x[0]) / 2;
  while (j >= 0 && x[n - 1] - x[j] <= d * 2) --j;
  c = (x[n - 1] + x[j + 1]) / 2;
  if (i <= j && x[j] - x[i] > d * 2) return 0;
  b = (x[j] + x[i]) / 2;
  return 1;
}
inline void P2(long long x) {
  printf("%lld", x >> 1);
  if (x & 1)
    printf(".500000");
  else
    printf(".000000");
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < (int)(n); ++i) scanf("%lld", &x[i]);
  sort(x, x + n);
  for (int i = 0; i < (int)(n); ++i) x[i] <<= 1;
  long long lb = 0, rb = 2e9;
  while (lb < rb) {
    long long md = (lb + rb) >> 1;
    if (chk(md))
      rb = md;
    else
      lb = md + 1;
  }
  chk(lb);
  P2(lb);
  puts("");
  P2(a);
  printf(" ");
  P2(b);
  printf(" ");
  P2(c);
  puts("");
  return 0;
}
