#include <bits/stdc++.h>
using namespace std;
using i8 = int8_t;
using u8 = uint8_t;
using i16 = int16_t;
using u16 = uint16_t;
using i32 = int32_t;
using u32 = uint32_t;
using i64 = int64_t;
using u64 = uint64_t;
using f32 = float;
using f64 = double;
uint gcd(const uint a, const uint b) { return (b == 0) ? a : gcd(b, a % b); }
uint lcm(const uint a, const uint b) { return a * b / gcd(a, b); }
f64 ave(const f64 a, const f64 b) { return (a + b) / 2.0f; }
void Main() {
  uint n;
  cin >> n;
  vector<u64> v(n);
  for (int i = 0; i < (n); i++) cin >> v[i];
  sort(v.begin(), v.end());
  u64 average = v[0];
  for (i64 i = 1; i < n; i++) {
    average = ave(v[i], average);
  }
  cout << average << endl;
}
int main() {
  std::cin.tie(nullptr);
  std::ios_base::sync_with_stdio(false);
  std::cout << std::fixed << std::setprecision(10);
  Main();
  return 0;
}
