#include <bits/stdc++.h>
using namespace std;
double calc(const vector<double>& vec, int a, int b) {
  auto new_vec = vec;
  new_vec.push_back((vec[a] + vec[b]) / (double)2.0);
  new_vec[a] = -1;
  new_vec[b] = -1;
  new_vec.erase(remove(new_vec.begin(), new_vec.end(), -1), new_vec.end());
  if (new_vec.size() == 1) {
    return new_vec[0];
  }
  double ret = 0;
  for (int i = 0; i < new_vec.size() - 1; ++i) {
    for (int j = i + 1; j < new_vec.size(); ++j) {
      ret = max(ret, calc(new_vec, i, j));
    }
  }
  return ret;
}
int main() {
  int N;
  cin >> N;
  vector<double> V(N);
  for (size_t i = 0; i < N; i++) {
    cin >> V[i];
  }
  double ret = 0;
  for (int i = 0; i < V.size() - 1; ++i) {
    for (int j = i + 1; j < V.size(); ++j) {
      ret = max(ret, calc(V, i, j));
    }
  }
  cout << ret << endl;
  return 0;
}
