import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = Integer.parseInt(sc.next());
		ArrayList<Integer> value = new ArrayList<>();
		for(int i = 0; i < N; i++) {
			value.add(Integer.parseInt(sc.next()));
		}
		sc.close();

		Collections.sort(value);

		double tmp = (double)(value.get(0) + value.get(1)) / 2;
		if(N == 2) {
			System.out.println(tmp);
			return;
		}else {
			for(int i = 2; i < value.size(); i++) {
				tmp = (double) (tmp + value.get(i)) / 2;
			}
			System.out.println(tmp);
			return;
		}
	}

} import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = Integer.parseInt(sc.next());
		ArrayList<Integer> value = new ArrayList<>();
		for(int i = 0; i < N; i++) {
			value.add(Integer.parseInt(sc.next()));
		}
		sc.close();

		Collections.sort(value);

		double tmp = (double)(value.get(0) + value.get(1)) / 2;
		if(N == 2) {
			System.out.println(tmp);
			return;
		}else {
			for(int i = 2; i < value.size(); i++) {
				tmp = (double) (tmp + value.get(i)) / 2;
			}
			System.out.println(tmp);
			return;
		}
	}

} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = Integer.parseInt(sc.next());
		ArrayList<Integer> value = new ArrayList<>();
		for(int i = 0; i < N; i++) {
			value.add(Integer.parseInt(sc.next()));
		}
		sc.close();

		Collections.sort(value);

		double tmp = (double)(value.get(0) + value.get(1)) / 2;
		if(N == 2) {
			System.out.println(tmp);
			return;
		}else {
			for(int i = 2; i < value.size(); i++) {
				tmp = (double) (tmp + value.get(i)) / 2;
			}
			System.out.println(tmp);
			return;
		}
	} main {
		Scanner sc = new Scanner(System.in);
		int N = Integer.parseInt(sc.next());
		ArrayList<Integer> value = new ArrayList<>();
		for(int i = 0; i < N; i++) {
			value.add(Integer.parseInt(sc.next()));
		}
		sc.close();

		Collections.sort(value);

		double tmp = (double)(value.get(0) + value.get(1)) / 2;
		if(N == 2) {
			System.out.println(tmp);
			return;
		}else {
			for(int i = 2; i < value.size(); i++) {
				tmp = (double) (tmp + value.get(i)) / 2;
			}
			System.out.println(tmp);
			return;
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = Integer.parseInt(sc.next()); N Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc ArrayList<Integer> value = new ArrayList<>(); value new ArrayList<>() for(int i = 0; i < N; i++) {
			value.add(Integer.parseInt(sc.next()));
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			value.add(Integer.parseInt(sc.next()));
		} {
			value.add(Integer.parseInt(sc.next()));
		} value.add(Integer.parseInt(sc.next())) value.add value Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc sc.close() sc.close sc Collections.sort(value) Collections.sort Collections value double tmp = (double)(value.get(0) + value.get(1)) / 2; tmp (double)(value.get(0) + value.get(1)) / 2 (double)(value.get(0) + value.get(1)) value.get(0) value.get value 0 value.get(1) value.get value 1 2 if(N == 2) {
			System.out.println(tmp);
			return;
		}else {
			for(int i = 2; i < value.size(); i++) {
				tmp = (double) (tmp + value.get(i)) / 2;
			}
			System.out.println(tmp);
			return;
		} N == 2 N 2 {
			System.out.println(tmp);
			return;
		} System.out.println(tmp) System.out.println System.out System System.out tmp return; {
			for(int i = 2; i < value.size(); i++) {
				tmp = (double) (tmp + value.get(i)) / 2;
			}
			System.out.println(tmp);
			return;
		} for(int i = 2; i < value.size(); i++) {
				tmp = (double) (tmp + value.get(i)) / 2;
			} int i = 2; int i = 2; i 2 i < value.size() i value.size() value.size value i++ i++ i {
				tmp = (double) (tmp + value.get(i)) / 2;
			} {
				tmp = (double) (tmp + value.get(i)) / 2;
			} tmp = (double) (tmp + value.get(i)) / 2 tmp (double) (tmp + value.get(i)) / 2 (double) (tmp + value.get(i)) tmp value.get(i) value.get value i 2 System.out.println(tmp) System.out.println System.out System System.out tmp return; String[] args args public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = Integer.parseInt(sc.next());
		ArrayList<Integer> value = new ArrayList<>();
		for(int i = 0; i < N; i++) {
			value.add(Integer.parseInt(sc.next()));
		}
		sc.close();

		Collections.sort(value);

		double tmp = (double)(value.get(0) + value.get(1)) / 2;
		if(N == 2) {
			System.out.println(tmp);
			return;
		}else {
			for(int i = 2; i < value.size(); i++) {
				tmp = (double) (tmp + value.get(i)) / 2;
			}
			System.out.println(tmp);
			return;
		}
	}

} public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = Integer.parseInt(sc.next());
		ArrayList<Integer> value = new ArrayList<>();
		for(int i = 0; i < N; i++) {
			value.add(Integer.parseInt(sc.next()));
		}
		sc.close();

		Collections.sort(value);

		double tmp = (double)(value.get(0) + value.get(1)) / 2;
		if(N == 2) {
			System.out.println(tmp);
			return;
		}else {
			for(int i = 2; i < value.size(); i++) {
				tmp = (double) (tmp + value.get(i)) / 2;
			}
			System.out.println(tmp);
			return;
		}
	}

} Main
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = Integer.parseInt(sc.next());
		ArrayList<Integer> value = new ArrayList<>();
		for(int i = 0; i < N; i++) {
			value.add(Integer.parseInt(sc.next()));
		}
		sc.close();

		Collections.sort(value);

		double tmp = (double)(value.get(0) + value.get(1)) / 2;
		if(N == 2) {
			System.out.println(tmp);
			return;
		}else {
			for(int i = 2; i < value.size(); i++) {
				tmp = (double) (tmp + value.get(i)) / 2;
			}
			System.out.println(tmp);
			return;
		}
	}

}