using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ABC138
{
    class Program
    {
        static void Main(string[] args)
        {
            C();

            Console.Read();
        }

        static void C()
        {
            int N = int.Parse(Read());
            List<int> v = new List<int>();
            string[] input = Read().Split(' ');
            for (int i = 0; i < N; i++) v.Add(int.Parse(input[i]));
            v = v.OrderBy(x => x).ToList();

            //for (int i = 0; i < N; i++) Show(v[i].ToString());

            double temp = ((double)v[0] + (double)v[1]) / 2;
            for(int i = 2; i < N ; i++)
            {
                temp = (temp + v[i]) / 2;
            }
            Show(temp.ToString());
        }
        static void B()
        {
            int N = int.Parse(Read());
            string[] s = Read().Split(' ');
            int[] A = new int[N];
            for (int i = 0; i < N; i++) A[i] = int.Parse(s[i]);

            double sum = 0;
            foreach (int itemp in A) sum += 1 / (double)itemp;
            double answer = 1 / sum;
            Show(answer.ToString());

        }

        static void A()
        {
            int a = int.Parse(Read());
            string s = Read();
            if (a >= 3200) Show(s);
            else Show("red");
        }

        




        static string Read() { return Console.ReadLine(); }
        static void Show(string s) { Console.WriteLine(s); }
    }
}
