#include <bits/stdc++.h>
using namespace std;
const long long INF = 1LL << 61;
void DFS(vector<double> v, double &max) {
  if (v.size() == 1) {
    if (max < v[0]) max = v[0];
  } else {
    for (int i = 0; i < (int)(v.size()); i++) {
      for (int j = (i + 1); j < (int)(v.size()); j++) {
        vector<double> vec = v;
        vec.erase(vec.begin() + i);
        vec.erase(vec.begin() + j - 1);
        vec.push_back((v[i] + v[j]) / 2);
        DFS(vec, max);
      }
    }
  }
}
int main() {
  int N;
  cin >> N;
  vector<double> v(N);
  for (int i = 0; i < (int)(N); i++) cin >> v[i];
  double max = 0;
  DFS(v, max);
  cout << fixed << setprecision(15) << max << endl;
}
