#include <bits/stdc++.h>
using namespace std;
inline int ty() {
  register int a = 0, b = 1, c = getchar();
  while (!isdigit(c)) b ^= c == '-', c = getchar();
  while (isdigit(c)) a = a * 10 + c - 48, c = getchar();
  return b ? a : -a;
}
const int _ = 207, __ = 23333;
double p[_], f[_][__];
int n, lim;
int main() {
  register int i, j, k, a;
  register double mx = 0;
  n = ty(), lim = n + n + 1;
  for (i = 0; i <= n; i++) scanf("%lf", &p[i]);
  memset(f, -40, sizeof(f));
  f[0][0] = 0;
  for (i = 1; i <= lim; i++)
    for (j = 0, a = n; j <= n; j++, a -= 2)
      for (k = max(0, a); k <= n * i; k++)
        f[i][k] = max(f[i][k], f[i - 1][k - a] + p[j]);
  for (i = 1; i <= lim; i++) mx = max(mx, f[i][0] / i);
  printf("%.16lf\n", mx);
  return 0;
}
