#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using Int = long long;
const int MOD = 1000000007;
const ll INF = numeric_limits<ll>::max();
const int inf = 1e8;
typedef std::priority_queue<int, std::vector<int>, std::greater<int> >
    IntReversePrioQueue;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  vector<int> v(n);
  for (int(i) = 0; (i) < (int)(n); (i)++) cin >> v[i];
  vector<int> num(n);
  iota(num.begin(), num.end(), 0);
  double ans;
  double max_ = 0.0;
  do {
    ans = v[num[0]];
    for (int(i) = (1); (i) < (int)(n); (i)++) {
      ans = (ans + v[num[i]]) / 2.0;
    }
    max_ = max(max_, ans);
  } while (next_permutation(num.begin(), num.end()));
  cout << std::fixed << std::setprecision(14) << max_ << endl;
  return 0;
}
