#include <bits/stdc++.h>
const int INF = (int)1e9;
using namespace std;
const int MAX = 2e5 + 5;
const double eps = 1e-7;
int n;
double a[MAX];
double ans[4];
bool valid(double val) {
  ans[0] = a[0] + val;
  double pos = a[0] + val * 2.0;
  int cnt = 1;
  for (int i = 1; i < n && cnt <= 3; i++) {
    if (a[i] - pos >= eps) {
      ans[cnt++] = a[i] + val;
      pos = a[i] + val * 2.0;
    }
  }
  return cnt <= 3;
}
double bs() {
  double l = 0, h = 1e9;
  for (int i = 0; i < 100; i++) {
    double mid = l + (h - l) / 2.0;
    if (valid(mid)) {
      h = mid;
    } else
      l = mid;
  }
  return h;
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  sort(a, a + n);
  double res = bs();
  cout << fixed << setprecision(6) << res << '\n';
  valid(res);
  for (int i = 0; i < 3; i++) cout << fixed << setprecision(6) << ans[i] << " ";
  cout << '\n';
  return 0;
}
