import java.util.Scanner;
import java.util.Arrays;

class Main {

    public static void main(String[] args)  {
	Scanner sc = new Scanner(System.in);

	int N = sc.nextInt();
	int v[] = new int[N];
	for (int i = 0; i < N; i++)
	    v[i] = sc.nextInt();

	Arrays.sort(v);
	double ave = ((double)(v[1] - v[0])) / 2 + v[0];
	for (int i = 2; i <= N - 1; i++)
	    ave = ((double)(ave - v[i])) / 2 + v[i];

	System.out.println(ave);
    }
} import java.util.Scanner; Scanner java.util import java.util.Arrays; Arrays java.util class Main {

    public static void main(String[] args)  {
	Scanner sc = new Scanner(System.in);

	int N = sc.nextInt();
	int v[] = new int[N];
	for (int i = 0; i < N; i++)
	    v[i] = sc.nextInt();

	Arrays.sort(v);
	double ave = ((double)(v[1] - v[0])) / 2 + v[0];
	for (int i = 2; i <= N - 1; i++)
	    ave = ((double)(ave - v[i])) / 2 + v[i];

	System.out.println(ave);
    }
} Main public static void main(String[] args)  {
	Scanner sc = new Scanner(System.in);

	int N = sc.nextInt();
	int v[] = new int[N];
	for (int i = 0; i < N; i++)
	    v[i] = sc.nextInt();

	Arrays.sort(v);
	double ave = ((double)(v[1] - v[0])) / 2 + v[0];
	for (int i = 2; i <= N - 1; i++)
	    ave = ((double)(ave - v[i])) / 2 + v[i];

	System.out.println(ave);
    } main {
	Scanner sc = new Scanner(System.in);

	int N = sc.nextInt();
	int v[] = new int[N];
	for (int i = 0; i < N; i++)
	    v[i] = sc.nextInt();

	Arrays.sort(v);
	double ave = ((double)(v[1] - v[0])) / 2 + v[0];
	for (int i = 2; i <= N - 1; i++)
	    ave = ((double)(ave - v[i])) / 2 + v[i];

	System.out.println(ave);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int v[] = new int[N]; v new int[N] N for (int i = 0; i < N; i++)
	    v[i] = sc.nextInt(); int i = 0; int i = 0; i 0 i < N i N i++ i++ i v[i] = sc.nextInt(); v[i] = sc.nextInt() v[i] v i sc.nextInt() sc.nextInt sc Arrays.sort(v) Arrays.sort Arrays v double ave = ((double)(v[1] - v[0])) / 2 + v[0]; ave ((double)(v[1] - v[0])) / 2 + v[0] ((double)(v[1] - v[0])) / 2 ((double)(v[1] - v[0])) v[1] v 1 v[0] v 0 2 v[0] v 0 for (int i = 2; i <= N - 1; i++)
	    ave = ((double)(ave - v[i])) / 2 + v[i]; int i = 2; int i = 2; i 2 i <= N - 1 i N - 1 N 1 i++ i++ i ave = ((double)(ave - v[i])) / 2 + v[i]; ave = ((double)(ave - v[i])) / 2 + v[i] ave ((double)(ave - v[i])) / 2 + v[i] ((double)(ave - v[i])) / 2 ((double)(ave - v[i])) ave v[i] v i 2 v[i] v i System.out.println(ave) System.out.println System.out System System.out ave String[] args args
import java.util.Scanner;
import java.util.Arrays;

class Main {

    public static void main(String[] args)  {
	Scanner sc = new Scanner(System.in);

	int N = sc.nextInt();
	int v[] = new int[N];
	for (int i = 0; i < N; i++)
	    v[i] = sc.nextInt();

	Arrays.sort(v);
	double ave = ((double)(v[1] - v[0])) / 2 + v[0];
	for (int i = 2; i <= N - 1; i++)
	    ave = ((double)(ave - v[i])) / 2 + v[i];

	System.out.println(ave);
    }
}