#include <bits/stdc++.h>
int compare(const void *a, const void *b) {
  return *(double *)a - *(double *)b;
}
void sort_asc(int n, double *arr) { qsort(arr, n, sizeof(double), compare); }
double mean(double a, double b) { return (a + b) / 2.0; }
double max_value(int n, double *arr) {
  int i;
  int lim = n - 1;
  double value = 0;
  for (i = 0; i < n; i++) {
    if (i >= 2) lim--;
    value += arr[i] / (1 << lim);
  }
  return value;
}
int main(void) {
  int i;
  int n;
  double *arr;
  scanf("%d", &n);
  arr = (double *)malloc(sizeof(double) * n);
  for (i = 0; i < n; i++) scanf("%lf", &arr[i]);
  sort_asc(n, arr);
  printf("%.5lf\n", max_value(n, arr));
  return 0;
}
