program main
	implicit none
    integer n,i
    double precision,allocatable::v(:)
    double precision ans
    read *,n
    allocate(v(n))
    read *,(v(i),i=1,n)
    call quicksort(v,1,n)
    ans=v(1)
    do i=2,n
    	ans=(ans+v(i))/2
    end do
    print '(f0.12)',ans
contains
recursive subroutine quicksort(a, first, last)
  implicit none
  real*8  a(*)
  integer first, last
  integer i, j
  real*8  x, t
 
  x = a( (first+last) / 2 )
  i = first
  j = last
  do
     do while (a(i) < x)
        i=i+1
     end do
     do while (x < a(j))
        j=j-1
     end do
     if (i >= j) exit
     t = a(i);  a(i) = a(j);  a(j) = t
     i=i+1
     j=j-1
  end do
  if (first < i - 1) call quicksort(a, first, i - 1)
  if (j + 1 < last)  call quicksort(a, j + 1, last)
end subroutine quicksort
end program main