#include <bits/stdc++.h>
int asort(const void *a, const void *b) {
  long long x = *(long long *)a, y = *(long long *)b;
  if (x > y) return 1;
  if (x < y) return -1;
  return 0;
}
int main(int argc, char *argv[]) {
  int n;
  long long v[50];
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%lld", &v[i]);
  qsort(v, n, sizeof(long long), asort);
  double ans = 0;
  double x = 1;
  ans += (double)v[0];
  for (int i = 1; i < n; i++) {
    ans += (double)(1 << (i - 1)) * (double)v[i];
    x += (double)(1 << (i - 1));
  }
  printf("%f\n", ans / x);
  return 0;
}
