#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<int> V(N);
  cin >> V;
  sort(V.begin(), V.end(), greater<int>());
  stack<double> st;
  for (auto v : V) {
    st.push((double)v);
  }
  for (int i = 0; i < (int)(N - 1); i++) {
    int a = st.top();
    st.pop();
    int b = st.top();
    st.pop();
    st.push((a + b) / 2.0);
  }
  cout << st.top() << endl;
}
