#include <bits/stdc++.h>
using namespace std;
int n, a[300010];
void read() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) scanf("%d", a + i);
}
double work() {
  static int prev[300010], next[300010];
  static pair<int, int> v[300010];
  for (int i = 1; i <= n; ++i)
    v[i] = make_pair(a[i], i), prev[i] = i - 1, next[i] = i + 1;
  sort(v + 1, v + n + 1);
  const int L = 40;
  static double power[L + 10];
  power[0] = 1;
  for (int i = 1; i <= L; ++i) power[i] = power[i - 1] / 2;
  double ans = 0;
  for (int i = 1; i <= n; ++i) {
    int idx = v[i].second;
    double sumL = 0, sumR = 0;
    for (int j = idx, tot = 1; j != 0 && tot <= L; j = prev[j], ++tot)
      sumL = sumL + (double)(j - prev[j]) / n * power[tot];
    for (int j = idx, tot = 1; j != n + 1 && tot <= L; j = next[j], ++tot)
      sumR = sumR + (double)(next[j] - j) / n * power[tot - 1];
    ans = ans + v[i].first * sumL * sumR;
    next[prev[idx]] = next[idx], prev[next[idx]] = prev[idx];
  }
  return ans;
}
int main() {
  read();
  printf("%.20f\n", work());
  return 0;
}
