import java.util.Scanner;
import java.util.List;
import java.util.LinkedList;
import java.util.Deque;
import java.util.ArrayDeque;
import java.util.Collections;

public class Main{

	public static void main(String... args){
		Scanner scan = new Scanner(System.in);
		LinkedList<Double> values = new LinkedList<>();
		Deque<Double> stack = new ArrayDeque<>();
		
		int num = scan.nextInt();
		for(int i = 0; i < num; i++){
			values.add(scan.nextDouble());
		}
		
		Collections.sort(values);
		stack.push(values.poll());
		
		while(!values.isEmpty()){
			stack.push((stack.pop() + values.poll()) / 2.0);
		}
		
		System.out.println(stack.pop());
		
	}
} import java.util.Scanner; Scanner java.util import java.util.List; List java.util import java.util.LinkedList; LinkedList java.util import java.util.Deque; Deque java.util import java.util.ArrayDeque; ArrayDeque java.util import java.util.Collections; Collections java.util public class Main{

	public static void main(String... args){
		Scanner scan = new Scanner(System.in);
		LinkedList<Double> values = new LinkedList<>();
		Deque<Double> stack = new ArrayDeque<>();
		
		int num = scan.nextInt();
		for(int i = 0; i < num; i++){
			values.add(scan.nextDouble());
		}
		
		Collections.sort(values);
		stack.push(values.poll());
		
		while(!values.isEmpty()){
			stack.push((stack.pop() + values.poll()) / 2.0);
		}
		
		System.out.println(stack.pop());
		
	}
} Main public static void main(String... args){
		Scanner scan = new Scanner(System.in);
		LinkedList<Double> values = new LinkedList<>();
		Deque<Double> stack = new ArrayDeque<>();
		
		int num = scan.nextInt();
		for(int i = 0; i < num; i++){
			values.add(scan.nextDouble());
		}
		
		Collections.sort(values);
		stack.push(values.poll());
		
		while(!values.isEmpty()){
			stack.push((stack.pop() + values.poll()) / 2.0);
		}
		
		System.out.println(stack.pop());
		
	} main {
		Scanner scan = new Scanner(System.in);
		LinkedList<Double> values = new LinkedList<>();
		Deque<Double> stack = new ArrayDeque<>();
		
		int num = scan.nextInt();
		for(int i = 0; i < num; i++){
			values.add(scan.nextDouble());
		}
		
		Collections.sort(values);
		stack.push(values.poll());
		
		while(!values.isEmpty()){
			stack.push((stack.pop() + values.poll()) / 2.0);
		}
		
		System.out.println(stack.pop());
		
	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) LinkedList<Double> values = new LinkedList<>(); values new LinkedList<>() Deque<Double> stack = new ArrayDeque<>(); stack new ArrayDeque<>() int num = scan.nextInt(); num scan.nextInt() scan.nextInt scan for(int i = 0; i < num; i++){
			values.add(scan.nextDouble());
		} int i = 0; int i = 0; i 0 i < num i num i++ i++ i {
			values.add(scan.nextDouble());
		} {
			values.add(scan.nextDouble());
		} values.add(scan.nextDouble()) values.add values scan.nextDouble() scan.nextDouble scan Collections.sort(values) Collections.sort Collections values stack.push(values.poll()) stack.push stack values.poll() values.poll values while(!values.isEmpty()){
			stack.push((stack.pop() + values.poll()) / 2.0);
		} !values.isEmpty() values.isEmpty() values.isEmpty values {
			stack.push((stack.pop() + values.poll()) / 2.0);
		} stack.push((stack.pop() + values.poll()) / 2.0) stack.push stack (stack.pop() + values.poll()) / 2.0 (stack.pop() + values.poll()) stack.pop() stack.pop stack values.poll() values.poll values 2.0 System.out.println(stack.pop()) System.out.println System.out System System.out stack.pop() stack.pop stack String... args args public class Main{

	public static void main(String... args){
		Scanner scan = new Scanner(System.in);
		LinkedList<Double> values = new LinkedList<>();
		Deque<Double> stack = new ArrayDeque<>();
		
		int num = scan.nextInt();
		for(int i = 0; i < num; i++){
			values.add(scan.nextDouble());
		}
		
		Collections.sort(values);
		stack.push(values.poll());
		
		while(!values.isEmpty()){
			stack.push((stack.pop() + values.poll()) / 2.0);
		}
		
		System.out.println(stack.pop());
		
	}
} public class Main{

	public static void main(String... args){
		Scanner scan = new Scanner(System.in);
		LinkedList<Double> values = new LinkedList<>();
		Deque<Double> stack = new ArrayDeque<>();
		
		int num = scan.nextInt();
		for(int i = 0; i < num; i++){
			values.add(scan.nextDouble());
		}
		
		Collections.sort(values);
		stack.push(values.poll());
		
		while(!values.isEmpty()){
			stack.push((stack.pop() + values.poll()) / 2.0);
		}
		
		System.out.println(stack.pop());
		
	}
} Main
import java.util.Scanner;
import java.util.List;
import java.util.LinkedList;
import java.util.Deque;
import java.util.ArrayDeque;
import java.util.Collections;

public class Main{

	public static void main(String... args){
		Scanner scan = new Scanner(System.in);
		LinkedList<Double> values = new LinkedList<>();
		Deque<Double> stack = new ArrayDeque<>();
		
		int num = scan.nextInt();
		for(int i = 0; i < num; i++){
			values.add(scan.nextDouble());
		}
		
		Collections.sort(values);
		stack.push(values.poll());
		
		while(!values.isEmpty()){
			stack.push((stack.pop() + values.poll()) / 2.0);
		}
		
		System.out.println(stack.pop());
		
	}
}