N = gets.to_i
v_list = gets.split.map(&:to_f)

if v_list.size == 2
  puts (v_list[0] + v_list[1]) / 2.0
  exit
end

max = 1.0
v_list.combination(2) do |v1, v2|
  copy = v_list.clone
  copy.delete_at(copy.index(v1))
  copy.delete_at(copy.index(v2))
  copy << (v1 + v2) / 2.0
  
  max_candidate = nil
  loop do
    break if max_candidate

    copy.combination(2) do |inner_v1, inner_v2|
      value = (inner_v1 + inner_v2) / 2.0
      copy.delete_at(copy.index(inner_v1))
      copy.delete_at(copy.index(inner_v2))
      
      if copy.empty?
        max_candidate = value
      else
        copy << value
      end
      break
    end
  end
  if max < max_candidate
    max = max_candidate
  end
end

puts max