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

public class Main { 

	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int countMaterial = Integer.parseInt(sc.nextLine());
    	String[] inputValue = sc.nextLine().split(" ");
    	
    	PriorityQueue<Double> Que = new PriorityQueue();
    	for(int i = 0;i<countMaterial;i++) {
    		double eachValue = Double.parseDouble(inputValue[i]);
    		Que.add(eachValue);
    	}
    	for(int i = 1;i<=countMaterial-1;i++) {
    		double tmp1 = Que.poll();
    		double tmp2 = Que.poll();
    		double tmp = (tmp1+tmp2)/2;
    		Que.add(tmp);
    	}
    	

    	
    	System.out.println(Que.peek());
    }
} import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.List; List java.util import java.util.PriorityQueue; PriorityQueue 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 countMaterial = Integer.parseInt(sc.nextLine());
    	String[] inputValue = sc.nextLine().split(" ");
    	
    	PriorityQueue<Double> Que = new PriorityQueue();
    	for(int i = 0;i<countMaterial;i++) {
    		double eachValue = Double.parseDouble(inputValue[i]);
    		Que.add(eachValue);
    	}
    	for(int i = 1;i<=countMaterial-1;i++) {
    		double tmp1 = Que.poll();
    		double tmp2 = Que.poll();
    		double tmp = (tmp1+tmp2)/2;
    		Que.add(tmp);
    	}
    	

    	
    	System.out.println(Que.peek());
    }
} Main public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int countMaterial = Integer.parseInt(sc.nextLine());
    	String[] inputValue = sc.nextLine().split(" ");
    	
    	PriorityQueue<Double> Que = new PriorityQueue();
    	for(int i = 0;i<countMaterial;i++) {
    		double eachValue = Double.parseDouble(inputValue[i]);
    		Que.add(eachValue);
    	}
    	for(int i = 1;i<=countMaterial-1;i++) {
    		double tmp1 = Que.poll();
    		double tmp2 = Que.poll();
    		double tmp = (tmp1+tmp2)/2;
    		Que.add(tmp);
    	}
    	

    	
    	System.out.println(Que.peek());
    } main {
    	Scanner sc = new Scanner(System.in);
    	int countMaterial = Integer.parseInt(sc.nextLine());
    	String[] inputValue = sc.nextLine().split(" ");
    	
    	PriorityQueue<Double> Que = new PriorityQueue();
    	for(int i = 0;i<countMaterial;i++) {
    		double eachValue = Double.parseDouble(inputValue[i]);
    		Que.add(eachValue);
    	}
    	for(int i = 1;i<=countMaterial-1;i++) {
    		double tmp1 = Que.poll();
    		double tmp2 = Que.poll();
    		double tmp = (tmp1+tmp2)/2;
    		Que.add(tmp);
    	}
    	

    	
    	System.out.println(Que.peek());
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int countMaterial = Integer.parseInt(sc.nextLine()); countMaterial Integer.parseInt(sc.nextLine()) Integer.parseInt Integer sc.nextLine() sc.nextLine sc String[] inputValue = sc.nextLine().split(" "); inputValue sc.nextLine().split(" ") sc.nextLine().split sc.nextLine() sc.nextLine sc " " PriorityQueue<Double> Que = new PriorityQueue(); Que new PriorityQueue() for(int i = 0;i<countMaterial;i++) {
    		double eachValue = Double.parseDouble(inputValue[i]);
    		Que.add(eachValue);
    	} int i = 0; int i = 0; i 0 i<countMaterial i countMaterial i++ i++ i {
    		double eachValue = Double.parseDouble(inputValue[i]);
    		Que.add(eachValue);
    	} {
    		double eachValue = Double.parseDouble(inputValue[i]);
    		Que.add(eachValue);
    	} double eachValue = Double.parseDouble(inputValue[i]); eachValue Double.parseDouble(inputValue[i]) Double.parseDouble Double inputValue[i] inputValue i Que.add(eachValue) Que.add Que eachValue for(int i = 1;i<=countMaterial-1;i++) {
    		double tmp1 = Que.poll();
    		double tmp2 = Que.poll();
    		double tmp = (tmp1+tmp2)/2;
    		Que.add(tmp);
    	} int i = 1; int i = 1; i 1 i<=countMaterial-1 i countMaterial-1 countMaterial 1 i++ i++ i {
    		double tmp1 = Que.poll();
    		double tmp2 = Que.poll();
    		double tmp = (tmp1+tmp2)/2;
    		Que.add(tmp);
    	} {
    		double tmp1 = Que.poll();
    		double tmp2 = Que.poll();
    		double tmp = (tmp1+tmp2)/2;
    		Que.add(tmp);
    	} double tmp1 = Que.poll(); tmp1 Que.poll() Que.poll Que double tmp2 = Que.poll(); tmp2 Que.poll() Que.poll Que double tmp = (tmp1+tmp2)/2; tmp (tmp1+tmp2)/2 (tmp1+tmp2) tmp1 tmp2 2 Que.add(tmp) Que.add Que tmp System.out.println(Que.peek()) System.out.println System.out System System.out Que.peek() Que.peek Que String[] args args public class Main { 

	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int countMaterial = Integer.parseInt(sc.nextLine());
    	String[] inputValue = sc.nextLine().split(" ");
    	
    	PriorityQueue<Double> Que = new PriorityQueue();
    	for(int i = 0;i<countMaterial;i++) {
    		double eachValue = Double.parseDouble(inputValue[i]);
    		Que.add(eachValue);
    	}
    	for(int i = 1;i<=countMaterial-1;i++) {
    		double tmp1 = Que.poll();
    		double tmp2 = Que.poll();
    		double tmp = (tmp1+tmp2)/2;
    		Que.add(tmp);
    	}
    	

    	
    	System.out.println(Que.peek());
    }
} public class Main { 

	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int countMaterial = Integer.parseInt(sc.nextLine());
    	String[] inputValue = sc.nextLine().split(" ");
    	
    	PriorityQueue<Double> Que = new PriorityQueue();
    	for(int i = 0;i<countMaterial;i++) {
    		double eachValue = Double.parseDouble(inputValue[i]);
    		Que.add(eachValue);
    	}
    	for(int i = 1;i<=countMaterial-1;i++) {
    		double tmp1 = Que.poll();
    		double tmp2 = Que.poll();
    		double tmp = (tmp1+tmp2)/2;
    		Que.add(tmp);
    	}
    	

    	
    	System.out.println(Que.peek());
    }
} Main
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.PriorityQueue;
import java.util.Scanner;

public class Main { 

	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int countMaterial = Integer.parseInt(sc.nextLine());
    	String[] inputValue = sc.nextLine().split(" ");
    	
    	PriorityQueue<Double> Que = new PriorityQueue();
    	for(int i = 0;i<countMaterial;i++) {
    		double eachValue = Double.parseDouble(inputValue[i]);
    		Que.add(eachValue);
    	}
    	for(int i = 1;i<=countMaterial-1;i++) {
    		double tmp1 = Que.poll();
    		double tmp2 = Que.poll();
    		double tmp = (tmp1+tmp2)/2;
    		Que.add(tmp);
    	}
    	

    	
    	System.out.println(Que.peek());
    }
}