Crazy Bits
Оландиканці винайшли незвичайний комп'ютер; він має лише 12-бітові регістри для зберігання чисел. Єдина команда, яку цей комп'ютер підтримує, це SWAP. Функція Swap викликається з 3 параметрами: i, j та d. Виклик swap(i, j, d) змінює місцями j-й біт i-го регістра з його сусіднім бітом у напрямку d (0: вгору, 1: вправо, 2: вниз, 3: вліво). Наприклад, swap(2, 3, 1) змінює місцями 3-й та 4-й біти 2-го регістра, а swap(6, 4, 2) змінює місцями 4-ті біти 6-го та 7-го регістрів.
Оландиканці знають початкові значення регістрів і хочуть перетворити їх на інші числа. Вони звернулися до вас за допомогою, щоб знайти мінімальну кількість викликів swap.
Вхідні дані
Вхід складається з кількох тестових випадків. Перша строка кожного тестового випадку містить число n (1 ≤ n ≤ 16), яке вказує на кількість регістрів. Наступна строка містить n цілих чисел, де i-те число — це початкове значення i-го регістра. Наступна строка містить n цілих чисел, де i-те число — це бажане значення i-го регістра. Вхід завершується строкою, що містить нуль.
Вихідні дані
Для кожного тестового випадку ви повинні вивести один рядок, що містить мінімальну кількість перестановок, необхідних для цього тестового випадку. Якщо це неможливо, виведіть "Impossible".