#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using Graph = vector<vector<int>>;
template <typename T>
istream &operator>>(istream &is, vector<T> &vec) {
  for (auto &v : vec) is >> v;
  return is;
}
template <typename A, typename B>
inline void chmin(A &a, B b) {
  if (a > b) a = b;
}
template <typename A, typename B>
inline void chmax(A &a, B b) {
  if (a < b) a = b;
}
int main() {
  int N;
  cin >> N;
  vector<double> V(N);
  cin >> V;
  sort(V.begin(), V.end());
  for (int i = 0; i < (int)(N - 1); i++) {
    sort(V.begin(), V.end());
    int cnt = 0;
    vector<int> ab(2);
    for (int j = 0; j < (int)(N); j++) {
      if (0 != V[j]) {
        ab[cnt] = V[j];
        V[j] = 0;
        cnt++;
      }
      if (2 == cnt) break;
    }
    V[0] = (ab[0] + ab[1]) / 2.0;
  }
  cout << V[0] << endl;
}
