#include <bits/stdc++.h>
using namespace std;
int n, maxn;
double p[111], l, r, mid, f[333][333];
const double eps = 1e-7;
bool check(double mid) {
  for (int i = 0; i <= maxn; i++) {
    for (int j = 0; j <= maxn; j++) f[i][j] = -1e9;
  }
  for (int i = 0; i <= maxn; i++) {
    for (int j = 0; j <= i && j <= n; j++) {
      if (i + n - 2 * j <= maxn) f[i][i + n - 2 * j] = p[j] - mid;
    }
  }
  for (int k = 0; k <= maxn; k++) {
    for (int i = 0; i <= maxn; i++) {
      for (int j = 0; j <= maxn; j++) {
        f[i][j] = max(f[i][j], f[i][k] + f[k][j]);
      }
    }
  }
  for (int i = 0; i <= maxn; i++) {
    if (f[i][i] >= 0.00) return 1;
  }
  return 0;
}
int main() {
  scanf("%d", &n);
  maxn = 2 * n;
  for (int i = 0; i <= n; i++) {
    scanf("%lf", &p[i]);
  }
  l = 0.00;
  r = 1.00;
  while (r - l > eps) {
    mid = (l + r) / 2.00;
    if (check(mid))
      l = mid;
    else
      r = mid;
  }
  printf("%.9lf\n", l);
  return 0;
}
