#include <bits/stdc++.h>
using namespace std;
double a[1000];
int n;
double ans = 0;
double solve(int x, int y) {
  int d1, d2;
  d1 = n - x - x;
  d2 = n - y - y;
  if (d1 <= 0 && d2 <= 0) return 0;
  if (d1 > 0 && d2 > 0) return max(a[x], a[y]);
  if (d1 <= 0)
    d1 = -d1;
  else
    d2 = -d2;
  double re;
  re = ((double)d1) * a[y] + ((double)d2) * a[x];
  re /= (double)(d1 + d2);
  return re;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i <= n; i++) scanf("%lf", &a[i]);
  for (int i = 0; i <= n; i++)
    for (int j = 0; j <= n; j++) ans = max(ans, solve(i, j));
  printf("%.12lf", ans);
  return 0;
}
