Recursion Problem In Dynamic Programming