#include <bits/stdc++.h>
using namespace std;
struct Edge {
  int src, dst;
  int weight;
  Edge(int src, int dst, int weight) : src(src), dst(dst), weight(weight) {}
};
int main() {
  int N;
  cin >> N;
  priority_queue<double, vector<double>, greater<double>> v;
  for (int i = 0; i < N; i++) {
    int a;
    cin >> a;
    v.push(a);
  }
  for (int i = 0; i < N - 1; i++) {
    int a, b;
    a = v.top();
    v.pop();
    b = v.top();
    v.pop();
    v.push(1.0 * (a + b) / 2);
  }
  cout << v.top() << endl;
  return 0;
}
