#include <bits/stdc++.h>
using namespace std;
int A[200010];
int starts[200010];
int N;
bool check(int x) {
  int idx = 0, cnt = 0;
  while (idx < N) {
    int st = A[idx];
    starts[cnt] = st;
    while (idx < N && A[idx] <= st + x) idx += 1;
    cnt += 1;
  }
  if (cnt <= 3) return true;
  return false;
}
int main() {
  scanf("%d", &N);
  for (int i = 0; i < N; i++) scanf("%d", &A[i]);
  sort(A, A + N);
  int lo = 0, hi = 2000000000;
  while (lo < hi) {
    int mid = (lo + hi) >> 1;
    if (check(mid))
      hi = mid;
    else
      lo = mid + 1;
  }
  if (check(lo)) hi = lo;
  cout << (hi >> 1) << (hi & 1 ? ".500000" : ".000000") << endl;
  for (int i = 0; i < 3; i++) {
    int st = starts[i];
    if (st == -1) st = starts[0];
    int ed = st + hi;
    cout << ((st + ed) >> 1) << ((st + ed) & 1 ? ".500000" : ".000000") << " ";
  }
  cout << endl;
}
