Ви працюєте інженером в Inane Collaboration for Performance Computing, де відповідаєте за проєктування мережі взаємозв'язку для комп'ютерів. Мережа організована у вигляді прямокутної таблиці з 2n-1 рядків, у кожному з яких 2^{n-1} перемикачів. Перемикач — це пристрій із двома вхідними дротами ( та ) і двома вихідними дротами (X' та Y'). Якщо перемикач вимкнений, дані з входу передаються на вихід X', а з — на Y'. Якщо він увімкнений, то під'єднується до Y', а — до X'. Крім того, у верхньому та нижньому рядках розміщено 2^n комп'ютерів, і між парами цих комп'ютерів потрібна передача повідомлень. Дані з двох різних джерел не можуть проходити одним дротом, але обидва можуть проходити через один перемикач, якщо використовують різні входи.
Ви вирішили, що найбільш придатною є мережа з топологією Бенеса. -Benes-мережа — це просто один перемикач. Для n>1 -Benes-мережа може бути збудована рекурсивно таким чином:
У першому (верхньому) рядку є 2^{n-1} перемикачів; -й перемикач (0 \leq j < 2^{n-1}) отримує вхідні дані від комп'ютерів та 2j+1 (комп'ютери у верхньому та нижньому рядках позначаються числами від до 2^n-1 зліва направо).
Між першим і другим рядками перемикачів до вихідних дротів застосовується досконала перестановка-shuffle. Вихід під'єднується з входом j' у наступному рядку, де j' — результат правої циклічної зміни -бітного двійкового запису на один розряд (входи та виходи нумеруються зліва направо).
Якщо n > 2, наступні ряди перемикачів (до передостаннього включно) формують дві підмережі (n-1)-Benes — одну ліворуч, іншу праворуч.
До виходів застосовується зворотна перестановка (inverse shuffle), після чого додається останній ряд перемикачів.

Наприклад, на малюнку вище показано Benes-мережу для n=3 (квадрати — це перемикачі; комп'ютери у верхньому та нижньому рядах не намальовані, але позначені числами від до ). На малюнку показано можливий стан перемикачів. Квадрат, де перетинаються дві лінії, означає, що перемикач увімкнено. Такий стан дозволяє одночасно прокладати шляхи зв'язку між комп'ютерами , , , , , , , в нижньому ряду і , , , , , , , у верхньому відповідно.
Вам дано пари комп'ютерів , які повинні бути з'єднані одночасно (де — комп'ютер у нижньому ряду, а — у верхньому). Це потрібно зробити по незалежних дротах (wire-disjoint paths). Необхідно визначити стан усіх перемикачів, щоб це виконати.
Перший рядок кожного тесту — ціле число (1 \leq n \leq 13), тобто кількість пар комп'ютерів для з'єднання, як описано вище. Рядок з n=0 позначає кінець введення і не обробляється.
Кожен рядок з n>0 доповнюється ще одним, який містить 2^n цілих чисел. -те число (0 \leq i < 2^n) — це комп'ютер у верхньому ряду, з яким -й комп'ютер нижнього ряду має зв'язатись.
Для кожного тесту виведіть 2n-1 рядків, кожен з яких є бітовим рядком довжини 2^{n-1}, що показує для кожного перемикача, чи має він бути увімкнений (), чи вимкнений ().
Вхідні дані гарантують існування принаймні одного розв'язку. Якщо розв'язків декілька — виведіть лексикографічно найменший. Тобто, рядок верхнього ряду має бути мінімальним; при рівності — другий рядок мінімальний і так далі.
Виводи для різних тестових випадків розділяйте порожнім рядком.
Приклад 1