물통

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

nn개의 물통이 있고 (1n41 \le n \le 4), 처음에는 모든 물통이 물로 가득 차 있다. ii번째 물통의 용량은 정수 oio_i 리터이며 1oi491 \le o_i \le 49를 만족한다.

다음 세 가지 동작을 할 수 있다.

  • 한 물통의 물을 다른 물통에 전부 붓는다. 받는 물통에 그 물을 모두 담을 만큼 남은 공간이 충분할 때만 할 수 있다.
  • 다른 물통의 물을 이용해 한 물통을 용량 끝까지 가득 채운다. (붓는 쪽에 받는 물통의 남은 공간보다 많은 물이 있을 때 쓰며, 받는 물통은 가득 차고 남은 물은 붓는 쪽에 그대로 남는다.)
  • 한 물통의 물을 전부 배수구에 버린다.

각 물통의 용량과, 각 물통에 최종적으로 담기길 원하는 물의 양이 주어진다. 허용된 동작만으로 그 최종 상태에 도달할 수 있는지 판단하고, 도달할 수 있으면 필요한 최소 동작 횟수를, 그렇지 않으면 NIE를 출력하라.

입력

첫째 줄에 물통의 개수 nn이 주어진다 (1n41 \le n \le 4). 둘째 줄에 nn개의 정수 o1,,ono_1, \dots, o_n이 공백 하나로 구분되어 주어지며, oio_iii번째 물통의 용량이다 (1oi491 \le o_i \le 49). 셋째 줄에 nn개의 정수 w1,,wnw_1, \dots, w_n이 공백 하나로 구분되어 주어지며, wiw_iii번째 물통에 최종적으로 담기길 원하는 물의 양이다 (0wioi0 \le w_i \le o_i).

출력

허용된 동작만으로는 원하는 최종 상태에 도달할 수 없으면 NIE라는 한 단어만 출력한다. 도달할 수 있으면 그 최종 상태에 이르는 최소 동작 횟수를 정수 하나로 출력한다.