#include <bits/stdc++.h>
using namespace std;
const int N = 1001000;
const int lim = 50;
int a[N], kk[N], nxt[N], pre[N];
long double ans;
int n;
long double p[lim + 10];
bool cmp(int x, int y) { return a[x] < a[y]; }
void work(int id) {
  long double ret1 = 0., ret2 = 0.;
  int i, x;
  for (i = 0, x = id; i <= lim && x; i++, x = pre[x])
    ret1 += (x - pre[x]) * p[i];
  for (i = 0, x = id; i <= lim && x <= n; i++, x = nxt[x])
    ret2 += (nxt[x] - x) * p[i];
  ans += a[id] * ret1 * ret2 * 0.5;
  nxt[pre[id]] = nxt[id];
  pre[nxt[id]] = pre[id];
  nxt[id] = pre[id] = 0;
}
int main() {
  int i;
  p[0] = 1.;
  for (i = 1; i <= lim; i++) p[i] = p[i - 1] * 0.5;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (i = 1; i <= n; i++) kk[i] = i;
  sort(kk + 1, kk + 1 + n, cmp);
  for (i = 1; i <= n; i++) nxt[i] = i + 1, pre[i] = i - 1;
  for (i = 1; i <= n; i++) work(kk[i]);
  ans = ans / (long double)n / (long double)n;
  printf("%.8f\n", (double)ans);
}
