#include <bits/stdc++.h>
using namespace std;
const int N = 300000 + 77, LOG = 70;
int n, a[N], L[N], R[N], P[N];
bool CMP(int x, int y) { return a[x] < a[y]; }
double A;
vector<int> V, T;
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i)
    scanf("%d", a + i), L[i] = i - 1, R[i] = i + 1, P[i] = i;
  R[n + 1] = n + 1;
  sort(P + 1, P + 1 + n, CMP);
  for (int i = 1; i <= n; ++i) {
    int id = P[i];
    int prv = id;
    V.clear();
    T.clear();
    for (int j = 1; j < LOG; ++j) {
      int t = L[prv];
      V.push_back(prv - t);
      prv = t;
    }
    prv = id;
    for (int j = 1; j < LOG; ++j) {
      int t = R[prv];
      T.push_back(t - prv);
      prv = t;
    }
    L[R[id]] = L[id];
    R[L[id]] = R[id];
    reverse(V.begin(), V.end());
    reverse(T.begin(), T.end());
    double le = 0, ri = 0;
    for (int x : V) le = (le / 2 + x);
    for (int x : T) ri = (ri / 2 + x);
    le = (le * ri * a[id] / 2 / n / n);
    A += le;
  }
  printf("%.9f", A);
  return 0;
}
