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

Оскільки у вашого друга F. немає часу організовувати всі турніри, він хоче знати для кожного числа з початкового набору найвищий рівень (найменше число рівня), на якому може опинитися число, при будь-якій перестановці чисел у вхідному масиві.
Перший рядок містить натуральне число n\:(1 \le n \le 20).
Наступний рядок містить 2^n натуральних чисел з інтервалу [1; 10^9] — елементи множини.
Виведіть в одному рядку 2^n чисел: позначки найвищого рівня (найменші позначки), на яких може опинитися число, у тому порядку, в якому вони були задані у вхідних даних.
Приклад 1
Приклад 2
Приклад 3