Email Record: An efficient dynamic programming algorithm for the Unbounded Knapsack Problem