#include <bits/stdc++.h>
using namespace std;
static const int INF = 1001001001;
int main() {
  int n;
  cin >> n;
  vector<double> vecV(n);
  for (int i = 0; i < n; i++) cin >> vecV.at(i);
  sort(vecV.begin(), vecV.end());
  while (vecV.size() > 1) {
    int min = INF;
    int min_i;
    for (int i = 0; i < vecV.size() - 1; i++) {
      int gap = vecV[i + 1] - vecV[i];
      if (gap < min) {
        min = gap;
        min_i = i;
      }
    }
    vecV[min_i] = (vecV[min_i] + vecV[min_i + 1]) / 2;
    vecV.erase(vecV.begin() + min_i + 1);
  }
  printf("%.10f\n", vecV.front());
  return 0;
}
