Поликарп подготовил \(n\) задач по программированию, \(i\)-я задача имеет тему \(a_i\). Темы задач могут совпадать.
Поликарп планирует провести серию тематических контестов. Задачи каждого из контестов будут полностью на какую-то одну тему, и темы всех контестов должны быть попарно различны. Он может использовать не все подготовленные задачи. Допустимо, что на какие-то темы не будут проведены контесты.
Поликарп проведет контесты в несколько последовательных дней, по одному контесту в день. Он хочет провести контесты так, чтобы выполнялись условия:
- количество задач в каждом контесте было ровно вдвое больше количества задач в предыдущем контесте (т.е. день назад), количество задач в первом контесте может быть любым;
- общее суммарное количество задач во всех контестах серии должно быть максимально.
Ваша задача найти максимальное суммарное количество задач, которые могут быть использованы в серии тематических контестов. Заметим, что максимизировать количество контестов не надо.
Выходные данные
Выведите одно целое число — максимальное суммарное количество задач в серии тематических контестов.
Примечание
В первом примере оптимальная серия контестов — \(2\) задачи на тему \(1\), \(4\) задачи на тему \(2\), \(8\) задач на тему \(10\).
В втором примере оптимальная серия контестов — \(3\) задачи на тему \(3\), \(6\) задач на тему \(6\).
В третьем примере Поликарп проведёт один контест из \(3\) задач на тему \(1337\). Таким образом, ответ равен \(3\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
18 2 1 2 10 2 10 10 2 2 1 10 10 10 10 1 1 10 10
|
14
|
|
2
|
10 6 6 6 3 6 1000000000 3 3 6 6
|
9
|
|
3
|
3 1337 1337 1337
|
3
|