Задача A + B#1758

Задача A + B

4 секунди
128 мегабайтів
Складна

QQ та OO завжди грають у гру A + B. QQ дає два десяткових числа A і B, а OO миттєво відповідає їхньою сумою. Однак виконувати одне й те ж надто довго стає нудно. Тож сьогодні вони завершують цю просту гру та вводять нові правила.

Правило 1: При додаванні A та B використовуються їхні двійкові подання.

Правило 2: Можна накладати однаковий суфікс A на префікс B.

Правило 3: Якщо двійкове подання B є підрядком у A, можна використати A для накладання на B.

Щоб зробити задачу цікавішою, QQ дає чисел. OO має використати кожне число рівно один раз і знайти найменшу можливу суму. OO немає часу думати і просить вас про допомогу.

Вхідні дані

Декілька тестів. Кожен тест починається з числа , далі йде (0 < n < 16) рядків, у кожному з яких записане десяткове число a_i (0 < a_i < 2^{64}), як описано вище. Опрацьовуйте вхід до кінця файлу.

Вихідні дані

Для кожного тесту виведіть найменшу можливу відповідь у окремому рядку. Якщо відповідь велика, виведіть її за модулем .

Приклади

Приклад 1

Loading
Loading