#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:64000000")
int n;
double p[1 << 8];
inline void init() {
  cin >> n;
  for (int i = 0; i <= n; ++i) cin >> p[i];
}
double f[1 << 8][1 << 8];
int main() {
  init();
  double res = 0.0;
  int MD = (n + 1) * 2;
  int m = n * 2;
  for (int u = 0; u <= n; ++u) {
    for (int i = 0; i <= m; ++i)
      for (int j = 0; j <= MD; ++j) f[i][j] = -1.0;
    f[u][0] = 0.0;
    for (int day = 0; day < MD; ++day) {
      int nday = day + 1;
      for (int i = 0; i <= m; ++i) {
        int lim = min(n, i);
        if (f[i][day] < -1e-7) continue;
        for (int t = 0; t <= lim; ++t) {
          int ni = (i - t) + (n - t);
          if (ni > m) continue;
          f[ni][nday] = max(f[ni][nday], f[i][day] + p[t]);
        }
      }
    }
    for (int day = 1; day <= MD; ++day) {
      if (f[u][day] < 1e-7) continue;
      double cur = f[u][day] / (double)day;
      res = max(res, cur);
    }
  }
  cout.precision(10);
  cout << fixed << res << endl;
  return 0;
}
