삼월 초하루
시간 제한1초메모리 제한1024 MB
100℃ 물이 담긴 숙우 3개에서 물을 옮길 때마다 5℃씩 식는다. 각 물의 목표 온도와 최종 배치가 주어질 때 가능한 이동 순서를 찾거나 불가능을 판정한다.
문제
차 모임 '삼월 초하루'가 있다. 그들은 수시로 茶(차)와 다식을 먹으며 친목을 다지고 있다.
어느 날 차 모임을 이끄는 팽주(차를 우리는 사람) 초승달은 자주 가는 찻집 사장님으로부터 다음과 같은 사실을 배워 왔다.
숙우에 담긴 뜨거운 물을 다른 숙우로 이동할 때마다 물의 온도가 ℃ 감소한다.
다구 중 하나인 '숙우'는 '공도배'라고도 하며 우린 물을 나누거나 차를 우릴 물을 식히기 위해 사용한다. 물을 옮길 때마다 온도가 감소한다는 사실을 알게 된 초승달은 자신이 가지고 있었던 숙우들을 이용해 각각의 차에 맞는 적절한 온도를 가진 물을 여러 개 만들어 한꺼번에 차를 여러 종류로 우리고 싶어졌다.

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