Цифровий турнір#11520

Цифровий турнір

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

Ваш друг F. отримав у подарунок набір, що складається з 2^n натуральних чисел. Оскільки F. часто бере участь у футбольних турнірах, він вирішив організувати турнір для своїх 2^n чисел.

Турнір проводиться у форматі парних змагань, де більше з двох чисел переходить на наступний рівень. Рівні позначаються числами від до , де найвищий рівень позначається цифрою .

Приклад турніру зображено нижче.

Оскільки у вашого друга F. немає часу організовувати всі турніри, він хоче знати для кожного числа з початкового набору найвищий рівень (найменше число рівня), на якому може опинитися число, при будь-якій перестановці чисел у вхідному масиві.

Вхідні дані

Перший рядок містить натуральне число n\:(1 \le n \le 20).

Наступний рядок містить 2^n натуральних чисел з інтервалу [1; 10^9] — елементи множини.

Вихідні дані

Виведіть в одному рядку 2^n чисел: позначки найвищого рівня (найменші позначки), на яких може опинитися число, у тому порядку, в якому вони були задані у вхідних даних.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Приклад 3

Loading
Loading