삼월 초하루
면접 대비시간 제한1초메모리 제한1024 MB
물을 숙우 사이로 옮길 때마다 5℃씩 식는 규칙에 따라, 세 숙우에서 목표 온도와 최종 배치를 40번 이하의 이동으로 만드는 방법을 찾습니다.
문제
차 모임 '삼월 초하루'가 있다. 회원들은 자주 모여 차와 다식을 함께 먹으며 친목을 다진다.
어느 날 차 모임을 이끄는 팽주(차를 우리는 사람) 초승달은 자주 가는 찻집 사장님에게서 다음 사실을 들었다.
숙우에 담긴 뜨거운 물을 다른 숙우로 옮길 때마다 물의 온도가 ℃ 감소한다.
숙우는 '공도배'라고도 하며, 우린 물을 나누거나 차를 우릴 물을 식힐 때 쓰는 다구이다. 물을 옮길 때마다 온도가 낮아진다는 사실을 안 초승달은 가진 숙우로 목표 온도가 서로 다른 물을 여러 개 만들어, 한 번에 여러 종류의 차를 우리고 싶어졌다.

초승달은 1번부터 번까지 개의 숙우를 가지고 있다. 1번부터 번까지의 숙우에는 1번부터 번까지의 물이 순서대로 채워져 있고, 번 숙우는 비어 있다. 개의 물에는 각각 목표 온도가 있다. 처음 숙우에 담긴 물은 100℃이다. 물은 빈 숙우로만 옮길 수 있으며, 숙우에 담긴 물은 전부 옮겨야 한다.
숙우 사이로 물을 옮겨 온도를 낮추고, 모든 물이 목표 온도에 맞도록 만들어 보자. 그리고 1번부터 번까지의 물을 알맞은 숙우에 담아 보자.
입력
첫째 줄에는 숙우의 개수 이 주어진다.
둘째 줄에는 1번부터 번까지 물의 목표 온도 가 공백으로 구분되어 주어진다. , 는 의 배수
셋째 줄에는 물을 옮긴 후 1번부터 번까지의 숙우에 담겨야 하는 물의 번호가 공백으로 구분되어 주어진다. 물의 번호는 1부터 까지 중복되지 않는 양의 정수이다. 빈 숙우는 으로 주어진다.
출력
목표를 달성할 수 없다면 첫째 줄에 을 출력한다.
그렇지 않다면 첫째 줄에 이동 횟수 K$$(0\le K\le 40)를 출력하고, 둘째 줄부터 개의 줄에 걸쳐 숙우 속 물을 옮기는 과정 를 공백으로 구분하여 출력한다. 와 는 서로 다른 양의 정수이며, 는 번 숙우에 담긴 물을 번 숙우로 옮긴다는 뜻이다.
가능한 방법이 여러 가지라면 그중 아무거나 한 가지를 출력한다.