Беssі та її друзі грають у копитобол на щорічному чемпіонаті Superbull, а фермер Джон відповідає за те, щоб зробити турнір якомога захопливішим. У Superbull бере участь команд. Кожній команді присвоюється унікальний цілочисельний ідентифікатор у діапазоні від до 2^{30} - 1, щоб відрізняти її від інших команд.
Superbull — це турнір на вибування. Після кожної гри фермер Джон вибирає, яку з двох команд виключити з турніру, і виключена команда більше не може брати участь у подальших іграх. Турнір закінчується, коли залишається лише одна команда.
Фермер Джон помічає досить незвичну властивість результатів цих матчів. У кожній грі загальна кількість очок, набраних двома командами, дорівнює побітовій операції виключного АБО (XOR) над ідентифікаторами цих команд. Наприклад, якщо команди та грають одна проти одної, у грі буде набрано очки, оскільки 01100 \mathbin{\text{ XOR }} 10100 = 11000.
Фермер Джон вважає, що чим більше очок набрано у грі, тим цікавішою вона стає. Тому він хоче вибрати таку послідовність ігор, щоб загальна кількість набраних очок за весь турнір була якомога більшою. Допоможіть фермеру Джону організувати матчі.
У першому рядку міститься одне ціле число n~(1 \le n \le 2000). У наступних рядках міститься по одному ідентифікатору команди.
Виведіть максимально можливу загальну кількість очок, яку можна набрати в турнірі Superbull.
Один зі способів набрати в цілому очок виглядає так. Спочатку ФД зводить команди та і вирішує, що команда перемагає, після чого в турнірі залишаються команди , та . Потім він зводить команди та і дозволяє команді перемогти. Тепер у турнірі залишаються команди та . Нарешті, команди та зустрічаються одна з одною, і перемагає команда .
Загальна кількість набраних очок дорівнює
Приклад 1
Побітова операція виключного АБО (XOR), яку зазвичай позначають символом , — це побітова операція, яка застосовує логічну операцію виключного АБО до кожної відповідної пари бітів двох двійкових чисел. Результат у кожній позиції дорівнює , якщо рівно один із двох бітів дорівнює , і , якщо обидва біти дорівнюють або обидва дорівнюють .
Наприклад,
(десяткове ) (десяткове ) (десяткове ).