adding knapsack dynamic programming