Вы играете в матч формата lockout. Правила просты: это соревнование 1 на 1, есть $n$ задач с различной стоимостью в баллах. Только первый участник, сдавший задачу, получает баллы за неё; даже если второй участник опоздает всего на 1 секунду, он не получит ничего. Для простоты мы не будем учитывать ограничения по времени или досрочные победы: матч продолжается до тех пор, пока каждая задача не будет решена хотя бы одним из участников.
Вы довольно хороши, но... вам противостоит tourist. Это катастрофа, я знаю. Будет сложно победить, но вы надеетесь вырвать хоть сколько-то баллов, чтобы сохранить лицо. Если вы и tourist будете работать над одной и той же задачей, он, конечно, победит вас. Но если вы выберете разные задачи, то это ваш шанс! Вы сможете решить эту задачу раньше, чем tourist! Но после этого он перейдет в режим «берсерка» и мгновенно решит все оставшиеся задачи. Одна задача лучше, чем ничего, не так ли?
Давайте немного формализуем процесс. Каждый раз у вас и у tourist есть набор нерешенных задач на выбор. Если нерешенных задач не осталось, игра заканчивается, и вы получаете 0 баллов. В противном случае и вы, и tourist должны выбрать задачу для работы, не зная, какую задачу выбрал другой. Если вы выбираете одну и ту же задачу, tourist решает её раньше вас, и мы возвращаемся к тому же начальному состоянию, но с меньшим количеством оставшихся задач. В противном случае вы получаете баллы за выбранную вами задачу, но игра немедленно заканчивается, так как tourist мгновенно решает все оставшиеся задачи.
Вы хотите максимизировать количество баллов, которые вы получите, а tourist хочет их минимизировать. Каков ожидаемый результат игры, если и вы, и tourist играете оптимально?
Входные данные
Первая строка содержит одно целое число $n$ ($1 \le n \le 22$) — количество задач. Вторая строка содержит $n$ целых чисел $a_i$ ($1 \le a_i \le 10^9$) — стоимость каждой задачи.
Выходные данные
Выведите одно число — ваш ожидаемый счет. Ваш ответ считается верным, если его абсолютная или относительная погрешность не превышает $10^{-6}$. Формально, пусть ваш ответ равен $a$, а ответ жюри — $b$. Ваш ответ принимается, если и только если $\frac{|a-b|}{\max(1, |b|)} \le 10^{-6}$.
Примеры
Входные данные 1
2 6 7
Выходные данные 1
3.2307692307692
Входные данные 2
3 1 1 1
Выходные данные 2
0.8333333333333
Входные данные 3
11 1 2 3 4 5 6 7 8 9 10 11
Выходные данные 3
9.4422713866103
Примечание
Заметьте, что в первом примере tourist мог бы гарантированно выиграть матч, всегда выбирая вторую задачу, и против такой стратегии вы могли бы всегда выбирать первую задачу и получить 6 баллов. Но tourist будет играть оптимально, чтобы минимизировать ваш ожидаемый счет, что иногда может означать позволение вам выиграть матч.