올란디카 사람들은 이상한 컴퓨터를 발명했다. 이 컴퓨터에는 숫자를 저장하는 12비트 레지스터만 있으며, 받아들이는 명령은 SWAP 하나뿐이다. SWAP 함수는 세 개의 인자 $i$, $j$, $d$로 호출된다. swap(i, j, d)는 $i$번째 레지스터의 $j$번째 비트를 방향 $d$(0: 위, 1: 오른쪽, 2: 아래, 3: 왼쪽)에 있는 이웃 비트와 교환한다.
예를 들어 swap(2, 3, 1)은 2번째 레지스터의 3번째 비트와 4번째 비트를 교환하고, swap(6, 4, 2)는 6번째 레지스터와 7번째 레지스터의 4번째 비트를 교환한다.
올란디카 사람들은 레지스터들의 처음 값을 알고 있으며, 이를 다른 값들로 바꾸고 싶어 한다. 각 레지스터를 원하는 값으로 만들기 위해 필요한 SWAP 호출의 최소 횟수를 구하라.
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 레지스터의 개수 $n$ ($1 \le n \le 16$)이 주어진다. 다음 줄에는 $n$개의 정수가 주어지며, $i$번째 수는 $i$번째 레지스터의 처음 값이다. 그 다음 줄에도 $n$개의 정수가 주어지며, $i$번째 수는 $i$번째 레지스터의 목표 값이다. 각 레지스터 값은 12비트로 표현되는 $0$ 이상 $4095$ 이하의 정수이다. 입력은 $0$ 하나만 있는 줄로 끝난다.
각 테스트 케이스에 대해, 필요한 SWAP의 최소 횟수를 한 줄에 출력한다. 목표 상태를 만드는 것이 불가능하면 Impossible을 출력한다.