#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<iomanip>
#include<math.h>
#include<complex>
#include<queue>
#include<deque>
#include<stack>
#include<map>
#include<set>
#include<bitset>
#include<functional>
#include<assert.h>
#include<numeric>
using namespace std;
#define REP(i,m,n) for(int i=(int)(m) ; i < (int) (n) ; ++i )
#define rep(i,n) REP(i,0,n)
using ll = long long;
const int inf=1e9+7;
const ll longinf=1LL<<60 ;
const ll mod=1e9+7 ;

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    priority_queue<double, , std::vector<double>, std::greater<double> > que;
    int n;
    cin >> n;
    rep(i,n)
    {
        int tmp;
        cin >> tmp;
        que.push(tmp);
    }
    while(true)
    {
        double a,b,c;
        a = que.top();
        que.pop();
        b  = que.top();
        que.pop();
        c = (a+b)/2;
        if (que.empty())
        {
            cout << c << endl;
            break;
        }
        que.push(c);
    }
}
