#include <bits/stdc++.h>
using namespace std;
int n;
double p[100008];
struct Tprogram {
  void open() {
    freopen("1.in", "r", stdin);
    freopen("1.out", "w", stdout);
  }
  void close() {}
  void init() {
    scanf("%d", &n);
    for (int i = 0; i <= n; i++) scanf("%lf", &p[i]);
  }
  void work() {
    double ans = 0;
    for (int i = 0; i <= n >> 1; i++)
      for (int j = (n >> 1) + 1; j <= n; j++)
        ans = ((p[i] * (2 * j - n) + p[j] * (n - 2 * i)) / (2 * j - 2 * i) > ans
                   ? (p[i] * (2 * j - n) + p[j] * (n - 2 * i)) / (2 * j - 2 * i)
                   : ans);
    printf("%.10lf\n", ans);
  }
} Program;
int main() {
  Program.init();
  Program.work();
  return 0;
}
