import java.util.PriorityQueue;
import java.util.Scanner;

public class Main {

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

		while (in.hasNext()) {
			int N = in.nextInt();
			PriorityQueue<Double> pq = new PriorityQueue();
			
			for (int i = 0; i < N; ++i) {
				pq.add(in.nextDouble());
			}
			
			while (pq.size() > 1) {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			}
			
			System.out.println(pq.peek());
		}
	}

} import java.util.PriorityQueue; PriorityQueue java.util import java.util.Scanner; Scanner java.util public class Main {

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

		while (in.hasNext()) {
			int N = in.nextInt();
			PriorityQueue<Double> pq = new PriorityQueue();
			
			for (int i = 0; i < N; ++i) {
				pq.add(in.nextDouble());
			}
			
			while (pq.size() > 1) {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			}
			
			System.out.println(pq.peek());
		}
	}

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

		while (in.hasNext()) {
			int N = in.nextInt();
			PriorityQueue<Double> pq = new PriorityQueue();
			
			for (int i = 0; i < N; ++i) {
				pq.add(in.nextDouble());
			}
			
			while (pq.size() > 1) {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			}
			
			System.out.println(pq.peek());
		}
	} main {
		Scanner in = new Scanner(System.in);

		while (in.hasNext()) {
			int N = in.nextInt();
			PriorityQueue<Double> pq = new PriorityQueue();
			
			for (int i = 0; i < N; ++i) {
				pq.add(in.nextDouble());
			}
			
			while (pq.size() > 1) {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			}
			
			System.out.println(pq.peek());
		}
	} Scanner in = new Scanner(System.in); in new Scanner(System.in) while (in.hasNext()) {
			int N = in.nextInt();
			PriorityQueue<Double> pq = new PriorityQueue();
			
			for (int i = 0; i < N; ++i) {
				pq.add(in.nextDouble());
			}
			
			while (pq.size() > 1) {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			}
			
			System.out.println(pq.peek());
		} in.hasNext() in.hasNext in {
			int N = in.nextInt();
			PriorityQueue<Double> pq = new PriorityQueue();
			
			for (int i = 0; i < N; ++i) {
				pq.add(in.nextDouble());
			}
			
			while (pq.size() > 1) {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			}
			
			System.out.println(pq.peek());
		} int N = in.nextInt(); N in.nextInt() in.nextInt in PriorityQueue<Double> pq = new PriorityQueue(); pq new PriorityQueue() for (int i = 0; i < N; ++i) {
				pq.add(in.nextDouble());
			} int i = 0; int i = 0; i 0 i < N i N ++i ++i i {
				pq.add(in.nextDouble());
			} {
				pq.add(in.nextDouble());
			} pq.add(in.nextDouble()) pq.add pq in.nextDouble() in.nextDouble in while (pq.size() > 1) {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			} pq.size() > 1 pq.size() pq.size pq 1 {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			} double ingredient1 = pq.poll(); ingredient1 pq.poll() pq.poll pq double ingredient2 = pq.poll(); ingredient2 pq.poll() pq.poll pq double newIngredient = (ingredient1 + ingredient2) / 2; newIngredient (ingredient1 + ingredient2) / 2 (ingredient1 + ingredient2) ingredient1 ingredient2 2 pq.add(newIngredient) pq.add pq newIngredient System.out.println(pq.peek()) System.out.println System.out System System.out pq.peek() pq.peek pq String[] args args public class Main {

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

		while (in.hasNext()) {
			int N = in.nextInt();
			PriorityQueue<Double> pq = new PriorityQueue();
			
			for (int i = 0; i < N; ++i) {
				pq.add(in.nextDouble());
			}
			
			while (pq.size() > 1) {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			}
			
			System.out.println(pq.peek());
		}
	}

} public class Main {

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

		while (in.hasNext()) {
			int N = in.nextInt();
			PriorityQueue<Double> pq = new PriorityQueue();
			
			for (int i = 0; i < N; ++i) {
				pq.add(in.nextDouble());
			}
			
			while (pq.size() > 1) {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			}
			
			System.out.println(pq.peek());
		}
	}

} Main
import java.util.PriorityQueue;
import java.util.Scanner;

public class Main {

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

		while (in.hasNext()) {
			int N = in.nextInt();
			PriorityQueue<Double> pq = new PriorityQueue();
			
			for (int i = 0; i < N; ++i) {
				pq.add(in.nextDouble());
			}
			
			while (pq.size() > 1) {
				double ingredient1 = pq.poll();
				double ingredient2 = pq.poll();
				double newIngredient = (ingredient1 + ingredient2) / 2;
				
				pq.add(newIngredient);
			}
			
			System.out.println(pq.peek());
		}
	}

}
