Quieres aprovechar al máximo la capacidad de tu mochila, la cual es M. Para ello debes decidir de entre un conjunto de n objetos O = {O1, O2, ..., On} cuáles de ellos debes seleccionar para llevar dentro de tu mochila. Cada objeto Oi tiene asociado un valor Vi y un peso Wi. Debes hacer un programa que dado n, M y el listado de valores V = {V1, V2, ..., Vn} y pesos W = {W1, W2, ..., Wn} que distingue a cada uno de los n objetos, elija el subconjunto de objetos O* ⊆ O cuyo peso combinado no supere el máximo M, y cuyo valor combinado sea el más grande posible.
Entrada
Los valores n, M, seguidos por 2 líneas. La primer línea es una secuencia de n números enteros representando el valor de cada objeto. La segunda línea es una secuencia de n números enteros representando el peso de cada objeto.
Salida
Una línea con un número indicando el valor combinado máximo que se pudo obtener al elegir objetos para cargar en la mochila, respetando la restricción que la suma de sus pesos no exceda M.
Observación
Input
3 8 6 8 9 5 3 3
Output
17