#include<bits/stdc++.h>
typedef long long LL;
typedef long double dl;
#define opt operator
#define pb push_back
#define pii std::pair<LL,LL>
const LL maxn=1e6+9,mod=998244353,inf=1e18;
LL Read(){
	LL x(0),f(1); char c=getchar();
	while(c<'0' || c>'9'){
		if(c=='-') f=-1; c=getchar();
	}
	while(c>='0' && c<='9'){
		x=(x<<3ll)+(x<<1ll)+c-'0'; c=getchar();
	}return x*f;
}
void Chkmin(LL &x,LL y){
	if(y<x) x=y;
}
void Chkmax(LL &x,LL y){
	if(y>x) x=y;
}
LL add(LL x,LL y){
	return x+=y,x>=mod?x-mod:x;
}
LL dec(LL x,LL y){
	return x-=y,x<0?x+mod:x;
}
LL mul(LL x,LL y){
	return 1ll*x*y%mod;
}
LL Pow(LL base,LL b){
	LL ret(1); while(b){
		if(b&1) ret=mul(ret,base); base=mul(base,base); b>>=1;
	}return ret;
}
LL n;
dl a[maxn],suf[maxn];
int main(){
	n=Read();
	for(LL i=1;i<=n;++i){
		a[i]=Read();
	}
	std::sort(a+1,a+1+n);
	dl ret(1000000000000000000.0);
//	printf("%.10Lf\n",ret);
	for(LL i=n;i>=1;--i) suf[i]=suf[i+1]+a[i];
	for(LL i=1;i<=n;++i){
		dl x(1.0*a[i]/2.0);
		dl sum(1.0*i*x+suf[i+1]-1.0*(n-i)*x);
		ret=std::min(ret,sum);
	}
	ret/=1.0*n;
	printf("%.10Lf\n",ret);
	return 0;
}




#include<bits/stdc++.h>
using namespace std;
int main() {
  long n,k,a;
  cin>>n;
  vector<long> vec(n);
  for(long i=0; i<n; i++){
    cin>>vec.at(i);
  }
  sort(vec.begin(),vec.end());
  k=n/2;
  a=vec.at(k);
  double ans=0;
  double b=a;
  for(long i=0; i<n; i++){
    ans+=vec.at(i)-min(vec.at(i),a);
  }
  ans=ans/n;
  ans=ans+b/2;
  cout << fixed << setprecision(10);
  cout<<ans;
}