#include <bits/stdc++.h>
using namespace std;
double g[205][205];
double p[105];
int n;
int check(double x) {
  int i, j, k;
  for (i = 0; i <= n * 2; ++i)
    for (j = 0; j <= n * 2; ++j)
      if (i == j)
        g[i][j] = 0;
      else
        g[i][j] = -0x7ffffff;
  for (i = 0; i <= n * 2; ++i)
    for (j = 0; j <= n; ++j)
      if (i + n - j * 2 >= 0 && i + n - j * 2 <= n * 2)
        g[i][i + n - j * 2] = p[j] - x;
  for (k = 0; k <= n * 2; ++k)
    for (i = 0; i <= n * 2; ++i)
      for (j = 0; j <= n * 2; ++j) g[i][j] = max(g[i][j], g[i][k] + g[k][j]);
  for (i = 0; i <= n * 2; ++i)
    if (g[i][i] > 1e-7) return 1;
  return 0;
}
double work() {
  double l, r, mid;
  l = 0, r = 1;
  while (r - l > 1e-7) {
    mid = (l + r) / 2;
    if (check(mid))
      l = mid;
    else
      r = mid;
  }
  return mid;
}
int main() {
  int i;
  scanf("%d", &n);
  for (i = 0; i <= n; ++i) scanf("%lf", &p[i]);
  printf("%lf\n", work());
  return 0;
}
