#include <bits/stdc++.h>
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
using namespace std;
using ll = long long;
const int kInf = 2e9;
const ll kLInf = 2e18;
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
int N;
multiset<double> v;
int main() {
  cout << fixed << setprecision(10);
  cin >> N;
  int value;
  for (int i = 0, i_len = (N); i < i_len; ++i) {
    cin >> value;
    v.insert(value);
  }
  double prev;
  while (((int)(v).size()) != 1) {
    auto itr = v.begin();
    double a = *itr;
    itr++;
    double b = *itr;
    v.erase(a);
    v.erase(b);
    v.insert((a + b) / 2);
  }
  auto itr = v.begin();
  cout << *itr << endl;
  return 0;
}
