#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
using pll = pair<ll, ll>;
using tlll = tuple<ll, ll, ll>;
constexpr ll MOD = 1e9 + 7;
//constexpr ll MOD = 998244353;
//constexpr ll MOD = ;
ll mod(ll A, ll M) {return (A % M + M) % M;}
constexpr ll INF = 1LL << 60;
template<class T> bool chmin(T& a, T b) {if (a > b) {a = b; return true;} return false;}
template<class T> bool chmax(T& a, T b) {if (a < b) {a = b; return true;} return false;}
ll divceil(ll A, ll B) {return (A + (B - 1)) / B;}
#define FINALANS(A) do {cout << (A) << '\n'; exit(0);} while (false)

int main()
{
  ll N;
  cin >> N;
  vector<ll> A(N);
  for (ll i = 0; i < N; i++)
  {
    cin >> A.at(i);
  }

  sort(A.begin(), A.end());
  ld x;
  if (N % 2 == 0)
    x = (A.at(N / 2 - 1) + A.at(N / 2)) / 4.0L;
  else
    x = A.at(N / 2) / 2.0L;

  ld ans = N * x + accumulate(A.begin(), A.end(), 0LL);
  for (ll i = 0; i < N; i++)
  {
    ans -= min((ld)A.at(i), 2 * x);
  }
  ans /= N;
  cout << fixed << setprecision(15) << ans << endl;
}
#include <bits/stdc++.h>
using namespace std;

int lcm(int a, int b){
    int lcm = 0, m = min(a, b);
    for (int i = m; i > 0; i--){
        if (a%i==0 && b%i==0){
            lcm = i;
            break;
        }
    }
    return lcm;
}

int main(){
    int N;
    cin >> N;
    
    vector<int> A(N);
    for (int i = 0; i < N; i++){
        cin >> A[i];
    }
    sort(A.begin(), A.end());
    int LCM = A[0];
    for (int i = 1; i < N; i++){
        LCM = lcm(A[i], LCM);
    }
    
    cout << LCM;
}