#include<iostream>
#include<algorithm>
#include<ctime>
#include<vector>
#include<string>
#include<cmath>
#include<map>
#include<iomanip>
#include<numeric>
#include<queue>
#include<deque>
#include<cfloat>
#include<functional>
#include<tuple>
#include<math.h>
#include<bitset>
#include<stack>
#include<set>
#include<random>
#include<stdlib.h>
#define rip(i,n) for(int i=0;i<n;i++)
#define Rip(i,n) for(int i=1;i<=n;i++)
#define RIP(i,a,b) for(int i=a;i<b;i++)
#define all(V) V.begin(),V.end()
#define sec  setprecision;
#define _CRT_SECURE_NO_WARNINGS
#pragma target("avx")
#pragma optimize("O3")
#pragma optimize("unroll-loops");
constexpr double eps = 1e-9;
constexpr double pi = 3.141592653589793238462643383279;
using namespace std;
using ll = long long;
using ld = long double;
using Pa = pair<ll, ll>;
const ll MOD = 998244353;
ll gcd(ll a, ll b)
{
	if (a % b == 0)	return(b);
	else return(gcd(b, a % b));
}
ll lcm(ll a, ll b)
{
	return a * b / gcd(a, b);
}
ll pow(ll a, ll b) {
	ll ans = 1;
	if (b < 0)return 1;
	else if (b % 2 == 0)return(pow(a * a, b / 2));
	else return (a * pow(a, b - 1));
}
ll modpow(ll x, ll n, ll mod) {
	x %= mod;
	if (n == 0)
		return 1;
	if (n % 2 == 0)
		return (modpow((x * x) % mod, n / 2, mod) % mod);
	else
		return (x * modpow(x, n - 1, mod)) % mod;
}
template<typename T>
vector<T> primes(T n) {//primes[i]でiを割り切る最初の素数を返す
	vector<T> spf(n + 1);
	for (int i = 0; i <= n; i++) spf[i] = i;
	for (T i = 2; i * i <= n; i++) {
		if (spf[i] == i) {
			for (T j = i * i; j <= n; j += i) {
				if (spf[j] == j) {
					spf[j] = i;
				}
			}
		}
	}
	return spf;
}
void solveA() {
	int a, b, c; cin >> a >> b >> c;
	if (c == 0) {
		if (b >= a)cout << "Aoki" << endl;
		else cout << "Takahashi" << endl;
	}
	else {
		if (b > a)cout << "Aoki" << endl;
		else cout << "Takahashi" << endl;
	}
}
void solveB() {
	int n, s, d; cin >> n >> s >> d;
	vector<int>x(n);
	vector<int>y(n);
	rip(i, n)cin >> x[i] >> y[i];
	ll sum = 0;
	rip(i, n) {
		if (x[i]<s && y[i]>d)sum += y[i];
	}
	if (sum > 0)cout << "Yes" << endl;
	else cout << "No" << endl;
}
void solveC() {
	int n, m; cin >> n >> m;
	vector<int>a(m);
	vector<int>b(m);
	rip(i, m)cin >> a[i] >> b[i], a[i]--, b[i]--;
	int k; cin >> k;
	vector<int>c(k);
	vector<int>d(k);
	rip(i, k)cin >> c[i] >> d[i], c[i]--, d[i]--;
	int ans = 0;
	for (int i = 0; i < pow(2, k); i++) {
		vector<bool>e(n, false);
		for (int j = 0; j < k; j++) {
			int m = i / (pow(2, j));
			if (m % 2 == 1) {
				//d[j]を使う
				e[d[j]] = true;
			}
			else {
				//c[j]を使う
				e[c[j]] = true;
			}
		}
		int count = 0;
		for (int r = 0; r < m; r++) {
			if (e[a[r]] && e[b[r]])count++;
		}
		ans = max(ans, count);
	}
	cout << ans << endl;
}
void solveD() {
	ll n; cin >> n;
	//正のみで考えて弐倍すればok
	int count = 0;
	for (int i = 1; (ll)i * i + i <= 2 * n; i++) {
		if ((2 * n) % i == 0 && ((2 * n / i) + 1 - i) % 2 == 0) {
			count += 2;
		}
	}
	cout << count << endl;
}
void solveE() {
	int n, m; cin >> n >> m;
	vector<int>a(m); vector<int>b(m);
	rip(i, m)cin >> a[i] >> b[i];
	int k; cin >> k;
	vector<int>c(k);
	rip(i, k)cin >> c[i];

}
int main() {
	int n;cin>>n;
  cout<<max(0,n)<<endl;
}


#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,fma")
#pragma GCC optimize("unroll-loops")
//#pragma GCC target("avx,avx2,fma")

#include <bits/stdc++.h>
using namespace std;

#define null NULL


typedef long double ld;

#define int               long long
#define pb                push_back
#define ppb               pop_back
#define pf                push_front
#define ppf               pop_front
#define all(x)            (x).begin(),(x).end()
#define uniq(v)           (v).erase(unique(all(v)),(v).end())
#define sz(x)             (int)((x).size())
#define fr                first
#define sc                second
#define pii               pair<int,int>
#define rep(i,a,b)        for(int i=a;i<b;i++)
#define mem1(a)           memset(a,-1,sizeof(a))
#define mem0(a)           memset(a,0,sizeof(a))
#define ppc               __builtin_popcount
#define ppcll             __builtin_popcountll

#define vc vector
#define pb push_back
#define um unordered_map
#define us unordered_set
#define inf LONG_LONG_MAX
#define MOD (int)((1e9)+7)

vc<int>primes;
vc<int>spf;

void generatePrimes(int n){

    vc<bool>isPrime(n+1, true);
    isPrime[1] = false;     
    isPrime[0] = false;

    for(int i = 2; i<= n; i++){
        if(isPrime[i]){
            primes.push_back(i);
            spf[i] = i;
        }
        for(int j = 0; j<primes.size() &&
                        i*primes[j]<n && primes[j]<=spf[i];
                        j++){

            isPrime[i*primes[j]] = false;
            spf[i*primes[j]] = primes[j];

        }
    }
    
}



bool myComp(pair<string, int>a, pair<string, int>b){
    return a.second < b.second;    
}

int gcd(int a, int b){
    if(a==0){
        return b;
    }
    return gcd(b%a, a);
}

int mod(int a, int m){
    return (a%m + m) % m;
}

int power(int x, int n, int m){

    int res = 1;

    x = x%m;
    if(x==0){
        return 0;
    }

    while(n){
        if(n%2 == 1){
            res = (res*x)%m;
        }
        x = (x*x)%m;
        n /= 2;
    }
    return res;

}
int nCr(int n, int r){

    int p=1, k=1;

    if(n-r < r){
        r = n-r;
    }

    if(r != 0){

        while(r){
            
            p *= n;
            k *= r;

            int m = gcd(p, k);

            p /= m;
            k /= m;
            n--;
            r--;

        }

    }
    else{
        p=1;
    }
    return p;

}

void testcase(){

    int n;
    cin >> n;
    vc<int>arr(n);
    rep(i, 0, n){
        cin >> arr[i];
    }

    sort(all(arr));
    ld x;
    ld res = 0;
    if(n%2){
        x = (ld)arr[n/2]/2;
    }
    else{
        x = (ld)(arr[n/2] + arr[(n/2)-1])/4;
    }

    for(auto i: arr){
        res += (x + i - min((ld)i, 2*x));
    }
    cout <<fixed <<res/n;
    cout << '\n';
    
}


signed main(){

    ios_base::sync_with_stdio(false);
    cin.tie(null);
    //cout.tie(null);
    //generatePrimes(1000001);
    
    int t;
    
    
    //cin >> t;

       
    //while(t--){
        
        testcase();
		

    //}
    
    return 0;
}
