Олимпиадный тренинг

Задача . G. Курони и Антихайп


Курони плохо разбирается в экономике. Поэтому он решил основать новую финансовую пирамиду под названием Антихайп. У него есть следующие правила:

  • Вы можете присоединиться к пирамиде бесплатно и получить \(0\) монет.
  • Если вы уже являетесь участником Антихайпа, вы можете пригласить своего друга, который в настоящее время не является участником Антихайпа, и получить количество монет, равное вашему возрасту (за каждого приглашенного друга).

\(n\) людей недавно услышали об Антихайпе, возраст \(i\)-го человека - \(a_i\). Некоторые из них являются друзьями, но дружба сегодня  — странная вещь: \(i\)-й человек является другом \(j\)-го человека тогда и только тогда, когда \(a_i \text{ AND } a_j = 0\), где \(\text{AND}\) обозначает операцию побитового И.

На данный момент никто из \(n\) людей не является членом Антихайпа. Они хотят сотрудничать, чтобы присоединяться и приглашать друг друга в Антихайп таким образом, чтобы максимизировать их суммарную прибыль. Не могли бы вы помочь им?

Входные данные

Первая строка содержит единственное целое число \(n\) (\(1\le n \le 2\cdot 10^5\))  — количество людей.

Вторая строка содержит \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(0\le a_i \le 2\cdot 10^5\))  — возраста людей.

Выходные данные

Выведите одно целое число  — максимальную возможную суммарную прибыль всех \(n\) людей.

Примечание

Только первый и второй человек дружат. Второй может присоединиться к Антихайпу и пригласить первого, получив за это \(2\) монеты.


Примеры
Входные данныеВыходные данные
1 3
1 2 3
2

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя