import Data.Bits
import Data.List
import Control.Monad
import Data.Graph
import qualified Data.Vector.Unboxed as V
--import qualified Data.Vector.Unboxed.Mutable as VM
import Control.Monad.ST
import Data.Maybe (fromMaybe)
import qualified Data.ByteString.Lazy.Char8 as B
--import Debug.Trace

main :: IO ()
main = do
  n <- readLn :: IO Int
  vs <- map read.words <$> getLine :: IO [Double]
  ans <- forM (zip [0..n-1] $ sort vs) $ \(i,v) -> if i == 0 then return $ v/2^(n-1) else return $ v/2^(n-i)
  print $ sum ans
