import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Main {

	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		ArrayList<Double> list = new ArrayList<>();
		while (true) {
			try {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} catch (NumberFormatException | IOException e) {
				return;
			}
		}

	}

} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.ArrayList; ArrayList java.util import java.util.Arrays; Arrays java.util import java.util.Collections; Collections java.util import java.util.List; List java.util public class Main {

	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		ArrayList<Double> list = new ArrayList<>();
		while (true) {
			try {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} catch (NumberFormatException | IOException e) {
				return;
			}
		}

	}

} Main public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		ArrayList<Double> list = new ArrayList<>();
		while (true) {
			try {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} catch (NumberFormatException | IOException e) {
				return;
			}
		}

	} main {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		ArrayList<Double> list = new ArrayList<>();
		while (true) {
			try {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} catch (NumberFormatException | IOException e) {
				return;
			}
		}

	} BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) ArrayList<Double> list = new ArrayList<>(); list new ArrayList<>() while (true) {
			try {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} catch (NumberFormatException | IOException e) {
				return;
			}
		} true {
			try {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} catch (NumberFormatException | IOException e) {
				return;
			}
		} try {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} catch (NumberFormatException | IOException e) {
				return;
			} catch (NumberFormatException | IOException e) {
				return;
			} NumberFormatException | IOException e {
				return;
			} return; {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} Integer.valueOf(br.readLine()) Integer.valueOf Integer br.readLine() br.readLine br String aaa = br.readLine(); aaa br.readLine() br.readLine br String[] bbb = aaa.split(" "); bbb aaa.split(" ") aaa.split aaa " " List<String> tmp = Arrays.asList(bbb); tmp Arrays.asList(bbb) Arrays.asList Arrays bbb ArrayList<String> tmp2 = new ArrayList<String>(tmp); tmp2 new ArrayList<String>(tmp) for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				} String t tmp2 {
					list.add(Double.parseDouble(t));
				} {
					list.add(Double.parseDouble(t));
				} list.add(Double.parseDouble(t)) list.add list Double.parseDouble(t) Double.parseDouble Double t Collections.sort(list) Collections.sort Collections list Collections.reverse(list) Collections.reverse Collections list double newValue = 0; newValue 0 while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				} list.size() != 1 list.size() list.size list 1 {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				} newValue = list.get(list.size() - 1) + list.get(list.size() - 2) newValue list.get(list.size() - 1) + list.get(list.size() - 2) list.get(list.size() - 1) list.get list list.size() - 1 list.size() list.size list 1 list.get(list.size() - 2) list.get list list.size() - 2 list.size() list.size list 2 newValue = newValue / 2.00 newValue newValue / 2.00 newValue 2.00 list.set(list.size() - 2,newValue) list.set list list.size() - 2 list.size() list.size list 2 newValue list.remove(list.size() - 1) list.remove list list.size() - 1 list.size() list.size list 1 Collections.sort(list) Collections.sort Collections list Collections.reverse(list) Collections.reverse Collections list System.out.println(list.get(0)) System.out.println System.out System System.out list.get(0) list.get list 0 String[] args args public class Main {

	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		ArrayList<Double> list = new ArrayList<>();
		while (true) {
			try {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} catch (NumberFormatException | IOException e) {
				return;
			}
		}

	}

} public class Main {

	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		ArrayList<Double> list = new ArrayList<>();
		while (true) {
			try {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} catch (NumberFormatException | IOException e) {
				return;
			}
		}

	}

} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Main {

	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		ArrayList<Double> list = new ArrayList<>();
		while (true) {
			try {
				Integer.valueOf(br.readLine());
				String aaa = br.readLine();
				String[] bbb = aaa.split(" ");
				List<String> tmp = Arrays.asList(bbb);
				ArrayList<String> tmp2 = new ArrayList<String>(tmp);
				for (String t : tmp2) {
					list.add(Double.parseDouble(t));
				}
				
				Collections.sort(list);
				Collections.reverse(list);
				double newValue = 0;
				while (list.size() != 1) {
					newValue = list.get(list.size() - 1) + list.get(list.size() - 2);
					newValue = newValue / 2.00;
					list.set(list.size() - 2,newValue);
					list.remove(list.size() - 1);
					Collections.sort(list);
					Collections.reverse(list);
				}
				System.out.println(list.get(0));
				
			} catch (NumberFormatException | IOException e) {
				return;
			}
		}

	}

}
