#include<iostream>
#include<string>
#include<algorithm>
#include<math.h>
#include<queue>
#include<vector>
#include<map>
#include<iomanip>
#include<tuple>
#include<bitset>


using namespace std;
#define rep(i,n) for(int i=0;i<(n);i++)
#define printfloat(x) cout << fixed << setprecision(7) << (x) << endl;
#define printbit(x) cout << bitset<15>(x) << endl;
using ll = long long int;



long double pi = 3.14159265359;

int n;
double long v[1000],ans;

int main(){
    cin >> n;
    rep(i,n){
        cin >> v[i];
    }
    sort(v,v+n);
    ans = v[0];
    for(int i=1;i<n;i++){
        ans = (ans+v[i])/2;
        cout << v[i] << endl;
    }
    printfloat(ans);


return 0;
}#include<iostream>
#include<string>
#include<algorithm>
#include<math.h>
#include<queue>
#include<vector>
#include<map>
#include<iomanip>
#include<tuple>
#include<bitset>


using namespace std;
#define rep(i,n) for(int i=0;i<(n);i++)
#define printfloat(x) cout << fixed << setprecision(7) << (x) << endl;
#define printbit(x) cout << bitset<15>(x) << endl;
using ll = long long int;



long double pi = 3.14159265359;

int n;
double long v[1000],ans;

int main(){
    cin >> n;
    rep(i,n){
        cin >> v[i];
    }
    sort(v,v+n);
    ans = v[0];
    for(int i=1;i<n;i++){
        ans = (ans+v[i])/2;
        cout << v[i] << endl;
    }
    printfloat(ans);


return 0;
}