#include <iostream>
#include <vector>
#include <algorithm>
#include <stdio.h>

using namespace std;

void solve() {
    int n;
    cin >> n;
    vector<double> v(n);
    for (int i = 0; i < n; i++) {
        cin >> v[i];
    }
    sort(v.begin(), v.end());

    vector<double> res;

    double maxval = 0;
    double current = 0;
    if (n == 1) cout << v[0] << endl;
    else if (n == 2) {
        printf("%lf", (v[0] + v[1]) / 2);
    } else {
        do {
            current = pow(2,n-2)*v[0] + pow(2,n-2)*v[1];
            for(int i = 2; i < n; i++){
                current += pow(2,n-1)*v[i];
            }
            if(maxval < current){
                maxval = current;
                res = v;
            }
        } while (next_permutation(v.begin(), v.end()));
        maxval = res[0];
        for(int i = 1; i < n; i++){
            maxval = (maxval + res[i])/2;
        }
        printf("%lf", maxval);
    }
}

int main() {
    solve();
    return 0;
}