Problema número 301

Mejor no llevar muchas monedas

Tiempo máximo: 1,000-4,000 sMemoria máxima: 10240 KiB
Cofre con monedas

Mario tiene un cofre lleno de monedas que le han ido dando sus abuelos cuando les visita. Hace poco se ha pasado por su tienda favorita de juguetes y ha visto un coche teledirigido que le ha encantado. Preguntó el precio y ahora quiere saber si tiene monedas suficientes para poder comprárselo. Como tendrá que llevar las monedas en el bolsillo y en el camino pasará por una zona poco recomendable, quiere que se note lo menos posible que lleva ahí el dinero, por lo que quiere pagar con el menor número de monedas.

Mario ha clasificado las monedas por su valor y ha contado cuántas monedas tiene de cada tipo. ¿Puedes ayudarle a averiguar si puede pagar de forma exacta el precio del coche y en ese caso cuántas monedas de cada tipo debería llevar para que el número total de monedas sea lo más pequeño posible?

Entrada

La entrada consta de una serie de casos de prueba. Para cada caso, primero aparece el número N (entre 1 y 50) de tipos diferentes de monedas que Mario tiene. A continuación aparecen dos líneas con N enteros cada una: la primera con los valores y la segunda con el número de monedas disponibles de cada tipo, en el mismo orden. Los valores de las monedas son números entre 1 y 1.000 y se dispone como mucho de 50 monedas de cada tipo. Por último, aparece una línea con el precio del coche (un número entre 1 y 10.000).

Salida

Para cada caso de prueba se escribirá una línea que comience por SI seguido del número de monedas de cada tipo a utilizar (en el orden en el que aparecen en la entrada), si es posible pagar el precio del coche; o que contenga la palabra NO, en caso contrario. Si existen varias soluciones que utilicen el mínimo número de monedas posibles, se escribirá aquella que utilice más monedas de los tipos que aparecen antes en la entrada.

Entrada de ejemplo

4
1 5 10 50
10 2 5 4
260
3
1 10 100
3 2 2
114
3
5 10 15
2 2 2
20
3
10 15 5
2 2 2
20

Salida de ejemplo

SI 0 2 5 4
NO
SI 1 0 1
SI 2 0 0